嗨,我希望有人可以帮助我,我在Android应用程序中工作,我已经序列化了以下gson对象
截图:
jsonobject有许多子类,如:
PreferencialaboraEstudio,Preferencialaboralarea等等,
我将此gson对象从活动转移到新活动,为了反序列化此对象,我在新活动中实现了以下代码:
Intent intent = getIntent();
String Postulado = intent.getStringExtra("Postulado");//Postulado from extra is actually a gson object
Candidato candidato = gson.fromJson(Postulado, Candidato.class);
CandidatoPreferenciaLaboralEstado preflaboraledo = gson.fromJson(Postulado, CandidatoPreferenciaLaboralEstado.class);
我在CandidatoPreferenciaLaboralEstado中遇到了问题,你可以在图片中看到gson对象中有两个这个类型的项目,但是我的代码只返回第一个项而不是第二个项,是否有办法获取这个类型的所有项目来自gson的“CandidatoPreferenciaLaboralEstado”?
非常感谢您在这件事上的时间和帮助。
答案 0 :(得分:0)
不确定你的根型号是怎样的,但你可以这样:
public class Postulado {
private CandidatoPreferenciaLaboralEstado candidatoPreferenciaLaboralEstado;
private CandidatoSoftware candidatoSoftware;
public class CandidatoPreferenciaLaboralEstado {
private List<CandidatoPrefAttributes> candidatoAttributesList;
public class CandidatoPrefAttributes {
private Integer cveCandidato;
private Integer cveCandidatoPreferenciaLaboralEstado;
//More
}
}
public class CandidatoSoftware {
private List<CandidatoSoftwareAttributes> candidatoAttributesList;
public class CandidatoSoftwareAttributes {
private Integer cveCandidato;
private Integer cveCandidatoSoftware;
//More
}
}
}
各自的吸气剂。 还看起来Cadidates(CandidatoPreferenciaLaboralEstado和CandidatoSoftware)和Cadidate Prefferences非常相似,也许你可以将这些模型统一到一个(Candidate和CadidatePrefferences)并使用多个seriliazed名称,如:
@SerializedName(value="candidatoPreferenciaLaboralEstado", alternate={"candidatoSoftware"})
希望这可以帮到你!