我使用Spring RestTemplate和Jackson 2.1,我試圖反序列化下面的JSON字符串。而第一個數字是一個唯一的ID,因此這將是動態的:反序列化動態字段名稱的嵌套JSON對象
{"2127388":{"name":"John","city":"Amsterdam","country":"The Netherlands"}}
隨着RestTemplate我做了以下內容:
final ResponseEntity<UserDetailsWrapper> re = restTemplate.getForEntity(apiUrl, UserDetailsWrapper.class);
的POJO的我是
class UserDetailsWrapper {
private long uniqueId; // [getter + setter]
private UserDetails userDetails; // [getter + setter]
// no args constructor + all properties constructor
}
class UserDetails {
private String name; // [getter + setter]
private String city; // [getter + setter]
private String country; // [getter + setter]
// no args constructor + all properties constructor
}
的UserDetailsWrapper類得到實例化,但其所有屬性保持爲空。
當我簡單地做:
{"name":"John","city":"Amsterdam","country":"The Netherlands"}
我能夠deserialise與預期填充所有屬性的UserDetails類,所以我的配置應該是爲了。可能我需要在特定位置註釋UserDetailsWrapper類,或者我需要一個自定義的反序列化器。我試了兩次,但說實話,我不知道該怎麼做。
如果有人能幫助我,我會再次成爲一個快樂的人。
謝謝,這對我有所幫助。我發佈了我的最終解決方案。 – Roan