Ich arbeite den unten JSON auf Deserialisieren:Ausgabe mit Deserialisieren verschachtelten json
{"self":"http://members.cs.com/rest/api/[email protected]",
"key":"[email protected]",
"name":"[email protected]",
"emailAddress":"[email protected]",
"displayName":"ABC",
"active":true,
"members":{"size":1,"items":[{"name":"member-users","self":"http://members.cs.com/rest/api/[email protected]"}]},
"expand":"members"}
ich die folgenden Klassen erstellt haben:
@JsonIgnoreProperties(ignoreUnknown = true)
public class UserList {
private String name;
private String emailAddress;
private String displayName;
private boolean active;
List<MemberName> members = new ArrayList<>();
@JsonCreator
public UserList(@JsonProperty("name") String name, @JsonProperty("emailAddress") String emailAddress, @JsonProperty("displayName") String displayName, @JsonProperty("active") boolean active, @JsonProperty("members") List<MemberName> members) {
this.name = name;
this.emailAddress = emailAddress;
this.displayName = displayName;
this.active = active;
this.members.addAll(groups);
}
//getters
}
@JsonIgnoreProperties(ignoreUnknown = true)
public class MemberName {
private String name;
@JsonCreator
public MemberName(@JsonProperty("name") String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Wenn ich nicht geben, die Mitglieder als Eigenschaft der Die Deserialisierung funktioniert einwandfrei und ich kann die Werte für den Namen, displayName, active, emailAddress sehen. Das Problem tritt mit dem MemberName auf.
Könnte jemand dabei helfen?
Ist das Parsen von XML eine Option für diese Web-API? Ich habe ähnliche Probleme beim Analysieren von JSON kennengelernt und musste schließlich zu XML wechseln, da es expliziter sein kann als JSON, besonders wenn es sich um komplexe geschachtelte Typen handelt. Oftmals können Web-APIs sowohl JSON als auch XML bereitstellen. Sie müssen lediglich den gewünschten Antworttyp angeben. –
Das Parsen von XML ist keine Option, da wir einen gemeinsamen Ansatz für alle Serviceaufrufe in unserer Anwendung haben. Die Arbeit mit JSON ist bereits in vielen anderen Aufrufen implementiert und ich möchte diese nicht in XML ändern. – Sri
Ich denke, dass diese Frage verwandt sein kann. http://stackoverflow.com/questions/9829403/deserialize-json-to-arraylistpojo-using-jackson –