Ok, donc ça m'a un peu dérangé. Im obtenir un tableau json hoding objets ressemblant à ceci: [{ "id": "1", "name": "some name", "url": "some url", "active": true }, { "id": "2", "name": "some other name", "url": "some other url", "active": true } ]"
désérialise un tableau json dans une liste d'objets java en attente
Maintenant, je veux être en mesure de désérialiser ce tableau dans un objet java contenant une liste des objets dans le tableau. J'ai fait un désérialiseur personnalisé qui ressemble à ceci:
public class ListSerializer extends JsonDeserializer<List<Provider>>{
private static final long serialVersionUID = 9114152571639338391L;
@Override
public List<Provider> deserialize(JsonParser jsonParser,
DeserializationContext arg1) throws IOException, JsonProcessingException {
// TODO Auto-generated method stub
final ObjectCodec objectCodec = jsonParser.getCodec();
final JsonNode listOrObjectNode = objectCodec.readTree(jsonParser);
final List<Provider> result = new ArrayList<Provider>();
for (JsonNode node : listOrObjectNode) {
result.add(objectCodec.treeToValue(node, Provider.class));
}
return result;
}
}
Et la classe tenant la liste ressemble à ceci:
public class ProviderList {
@JsonDeserialize(using = ListSerializer.class)
private List<Provider> providerList;
public List<Provider> getProviderList() {
return providerList;
}
public void setProviderList(final List<Provider> providerList) {
this.providerList = providerList;
}
}
Maintenant, je sais que cela pourrait être une aproche stupide, mais en faisant une longue histoire Bref, c'est juste nécessaire. Je fais évidemment quelque chose de mal, parce que je reçois cette erreur:
Can not deserialize instance of com.wirelesscar.trailser.v1_0.domain.ProviderList out of START_ARRAY token at [Source: [{"id":"1","name":"Posttrack","url":"http:\dev.posttrack.com","active":true},{"id":"2","name":"Trackunit","url":"http:\dev.trackunit.com","active":true}]; line: 1, column: 1]
Donc, ma question. Est-ce possible? et où vais-je me tromper ici.
Merci d'avance!
Pourquoi le vote négatif? @JDC – SwissArmyKnife
Je n'ai pas downvote, je viens d'éditer – JDC
Ahh, ok. Pardon. Je pensais que vous aviez aussi downvoted. merci pour l'édition bien! – SwissArmyKnife