2015-05-21 117 views
0

我有這種形式JSON響應:GSON陣列解析器

String json = "{\"0\":{ \"title\" :\"title 1\" , \"time\" : \"15:00\" } ,\"1\":{ \"title\" : \"title 2\" , \"time\" :\"16:00\" }}"; 

這裏是我的課,我想它映射到:

public class News implements Seriaizable{ 
     @SerializedName("title") 
     private String title; 

     @SerializedName("time") 
     private String time; 
} 

我很努力,因爲我有一個數組沒有包含其他數組的負載的名稱。

Gson gson = new GsonBuilder().setPrettyPrinting().create(); 
        News obj = gson.fromJson(reader, News.class); 

任何人都可以引導我進入正確的方向嗎?

+1

JSON響應並不好看,哪裏是標題和時間的價值?其次是新聞課的內容是什麼? –

+0

是我的壞,沒有正確填寫答案和更正類名。 – Kangars

回答

1

您的JSON格式不正確。我添加了一些逗號來糾正它。

您可以通過使用地圖解決這個問題:

String json = "{\"0\":{ \"title\" :\"title 1\" , \"time\" : \"15:00\" } ,\"1\":{ \"title\" : \"title 2\" , \"time\" :\"16:00\" }}"; 

Gson gson = new Gson(); 

Type type = new TypeToken<Map<Integer, News>>() {}.getType(); 

Map<Integer, News> map = gson.fromJson(json, type); 

編號:https://sites.google.com/site/gson/gson-user-guide#TOC-Collections-Examples