[英]Gson deserialize Object with Map inside
我有一個簡單的JSON:
{“ localization”:[{“ app.home”:“ Home”,“ app.menu”:“ Menu”}]}
我創建了它的Java表示形式:
public class Config {
@Key("localization")
private Map<String, String> mLocalization = new HashMap<String, String>();
public Map<String, String> getLocalization() {
return mLocalization;
}
public void setLocalization(Map<String, String> mLocalization) {
this.mLocalization = mLocalization;
}
}
@Key是因為我在Robospice中使用它。 當我嘗試解析它時,我收到一個異常:
12-11 15:27:24.104:W / System.err(8133):由以下原因引起:java.lang.IllegalArgumentException:key localization,field private java.util.Map com.example.gson.Config.mLocalization 12-11 15 :27:24.104:W / System.err(8133):由以下原因引起:java.lang.IllegalArgumentException:預期的集合或數組類型,但是得到了java.util.Map
那我該如何解析呢? 我不想將其解析為數組,然后自己填寫Map
。
那是因為您的JSON中有地圖數組而不是地圖,應該是:
{"localization": {"app.home":"Home","app.menu":"Menu"}}
或者,您可以將密鑰聲明為地圖數組:
private Map<String, String>[] mLocalization;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.