2
說我有以下的JSON字符串從服務器返回:映射JSON字符串在Java中映射或HashMap的領域
{
"response":{
"imageInstances":{
"one":{
"id":"1",
"url":"ONE"
},
"two":{
"id":"2",
"url":"TWO"
}
}
}
}
在Codehaus的傑克遜
@JsonProperty
,我怎樣才能得到一個HashMap
對象出來的嗎?
import org.codehaus.jackson.annotate.JsonAnySetter;
import org.codehaus.jackson.annotate.JsonProperty;
import java.util.HashMap;
import java.util.List;
public class MSShow {
@JsonProperty("imageInstances") private HashMap<String, Temp> images;//// HOW DO YOU CONVERT IT TO HASH MAP??????
@JsonAnySetter public void ignoredField(String key, Object value) { }
private class Temp {
@JsonProperty("id") private String id;
@JsonProperty("url") private String url;
@JsonAnySetter public void ignoredField(String key, Object value) { }
}
}
在一天結束的時候,我想的哈希地圖生成基於返回的JSON字符串是 (java寫的僞)
應該返回我一個臨時的對象與領域id=1
和url=ONE
如果我叫
images.get("one")
應該返回我場id=2
和url=TWO
如果我叫
images.get("two")
還沒有做過任何嚴肅的鑽研或測試,但是,對於其中一個,我會說傑克遜可能在嵌套類Temp中存在一個問題:a)private,b)內部類(非靜態,因此綁定到包含「MediaSlideShow」的實例)。所以我會開始使用'Temp'' public static'。 – 2012-02-15 03:47:50
你是否特別需要'HashMap'?如果不是,請考慮一個'Map',讓傑克遜擔心要使用什麼實現。 –
2012-02-15 03:49:26
感謝萌芽!謝謝您的回覆 – user1118019 2012-02-15 17:09:42