[英]JSON deserialization issue with jackson
我有一個像這樣的json對象
{
"id":23 ,
"key": "AKEY",
"description": {
"plain": {
"value": "This is an example",
"representation": "plain"
}
}
}
我想將其映射到該對象
public class JsonResponse {
private int id;
private String key;
private String name;
private String type;
private String description;
/*usual getters and setters*/
}
我像這樣使用JSONSerialiser
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(responseEntity);
但是,如何將“ description.plain.value”映射到“ JsonResponse.description”?
可以使用傑克遜注釋來完成嗎?
謝謝你的幫助
我發現這篇文章將JSON子對象屬性綁定到Jackson的Java對象字段中 ,部分解決了我的問題。
我寫了兩個setDescription()方法,一個方法是我自己在代碼中使用的,一個被jacskon調用
@JsonProperty(value = "description")
public void setDescription(Map<String, Map<String,String>> description) {
this.description = description.get("plain").get("value");
}
public void setDescription(String description) {
this.description = description;
}
看起來JsonProperty批注是使jackson使用正確的setter所必需的。
只要它是“短嵌套”屬性,我仍然可以接受,但是我猜想Beri響應對於復雜的JSON響應更為可接受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.