Necesito convertir una determinada cadena JSON a un objeto de Java. Estoy usando Jackson para el manejo de JSON. Yo no tengo ningún control sobre la entrada JSON (que he leído de un servicio web). Esta es mi entrada JSON:
{"wrapper":[{"id":"13","name":"Fred"}]}
Aquí es una versión simplificada de casos de uso:
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);
}
Mi clase de entidad es:
public Class Student {
private String name;
private String id;
//getters & setters for name & id here
}
Mi clase de Contenedor es básicamente un contenedor de objeto de obtener mi lista de estudiantes:
public Class Wrapper {
private List<Student> students;
//getters & setters here
}
Sigo recibiendo este error y de "contenedor" vuelve null
. No estoy seguro de lo que falta. Alguien puede ayudarme por favor?
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)