簡體   English   中英

Gson使用Map內部反序列化對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM