Wie deserialisiere ich ein JSON-Array?
Ich verwende Jackson in CXF, um Daten zu serialisieren / zu deserialisieren. Leider habe ich Probleme, CXF / Jackson so zu konfigurieren, dass ein JSON-Array deserialisiert wird. Ich würde mich über Hilfe bei der Lösung des Problems freuen.
Bis zu diesem Punkt waren die meisten json-Daten im Objektformat, d. H.
{ "objectCollection": [ {...}, {...}, {...}... ] }
Die fraglichen json-Daten haben jedoch die Form:
[ {...}, {...}, {...} ]
Der Web-Service-Endpunkt erwartet ein "GroupsDto" -Objekt (siehe unten) mit einer einzigen Eigenschaft - einer Auflistung von Gruppen, die über das JSON-Array übertragen wird.
@PATH(...)
public Response createGroups(GroupsDto groups) {
...
}
Ich habe @JsonDeserialize wie folgt zur GroupsDto-Auflistungseigenschaft hinzugefügt, aber es funktioniert NICHT. Ich erhalte weiterhin: "Instanz von GroupsDto kann nicht aus START_ARRAY-Token deserialisiert werden"
public class GroupsDto {
private Collection<GroupDto> groups;
/**
* @return the groups
*/
@XmlElement(name="group")
@JsonDeserialize(contentAs=GroupDto.class)
public Collection<GroupDto> getGroups() {
return groups;
}
...
}