2014-01-22 81 views
1

我工作在Java中的一個項目HashMap和我想用GSON把文本放在一個HashMap,這裏是我的JSON:JSON與GSON

{ 
"someText": { 
    "text1": "lorem ipsum", 
    "text2": "ipsum lorem" 
    } 
} 

這裏一塊我的代碼:

private static class myTexts { 
    private final Map<String, String> someText = new HashMap<String, String>(); 
} 

myTexts t = this.gson.fromJson(myJsonFile, myTexts.class); 

我有這樣的錯誤:com.google.gson.JsonSyntaxException: duplicate key: null,我試圖找出什麼是錯了一段時間,但我似乎無法找出問題所在:/

+0

我在最後忘了「}」。這是我真正的Json,我剛剛做了複製和粘貼錯誤。 – user3151385

回答

3

如果添加結束}

{ 
"someText": { 
    "text1": "lorem ipsum", 
    "text2": "ipsum lorem" 
}} 
^ 

從而使你的JSON中規中矩,下面

myTexts t = new Gson().fromJson(myJsonFile, myTexts.class); 
System.out.println(t.someText); 

打印

{text1=lorem ipsum, text2=ipsum lorem} 

這似乎是你期待什麼。

0

試試這個吧!

public static Map<String, String> jsonToMap(String jsonString) { 
    Type type = new TypeToken<Map<String, String>>(){}.getType(); 
    Gson gson = new Gson(); 
    return gson.fromJson(jsonString, type); 
}