Saya perlu mengonversi string JSON tertentu ke objek Java. Saya menggunakan Jackson untuk penanganan JSON. Saya tidak memiliki kendali atas input JSON (saya baca dari layanan web). Ini adalah input JSON saya:
{"wrapper":[{"id":"13","name":"Fred"}]}
Berikut ini adalah kasus penggunaan yang disederhanakan:
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);
}
Kelas entitas saya adalah:
public Class Student {
private String name;
private String id;
//getters & setters for name & id here
}
Kelas Wrapper saya pada dasarnya adalah objek wadah untuk mendapatkan daftar siswa saya:
public Class Wrapper {
private List<Student> students;
//getters & setters here
}
Saya terus mendapatkan kesalahan ini dan "bungkus" kembali null
. Saya tidak yakin apa yang hilang. Bisakah seseorang membantu?
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>>(){});
dan kemudianStudent myStudent = dummy.get("wrapper");