Devo convertire una determinata stringa JSON in un oggetto Java. Sto usando Jackson per la gestione di JSON. Non ho alcun controllo sull'input JSON (ho letto da un servizio web). Questo è il mio input JSON:
{"wrapper":[{"id":"13","name":"Fred"}]}
Ecco un caso d'uso semplificato:
private void tryReading() {
String jsonStr = "{\"wrapper\"\:[{\"id\":\"13\",\"name\":\"Fred\"}]}";
ObjectMapper mapper = new ObjectMapper();
Wrapper wrapper = null;
try {
wrapper = mapper.readValue(jsonStr , Wrapper.class);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("wrapper = " + wrapper);
}
La mia classe di entità è:
public Class Student {
private String name;
private String id;
//getters & setters for name & id here
}
La mia classe Wrapper è fondamentalmente un oggetto contenitore per ottenere il mio elenco di studenti:
public Class Wrapper {
private List<Student> students;
//getters & setters here
}
Continuo a ricevere questo errore e restituisce "wrapper" null
. Non sono sicuro di cosa manchi. Qualcuno può aiutare per favore?
org.codehaus.jackson.map.exc.UnrecognizedPropertyException:
Unrecognized field "wrapper" (Class Wrapper), not marked as ignorable
at [Source: java.io.StringReader@1198891; line: 1, column: 13]
(through reference chain: Wrapper["wrapper"])
at org.codehaus.jackson.map.exc.UnrecognizedPropertyException
.from(UnrecognizedPropertyException.java:53)
Map dummy<String,Student> = myClientResponse.getEntity(new GenericType<Map<String, Student>>(){});
e poiStudent myStudent = dummy.get("wrapper");