2014-09-04 79 views
0

我一直在使用GSON解析JSON,進出對象得到了我所需要的元素:JSON解析問題(獲取屬性)

JsonObject obj=str.getAsJsonObject(); 
JsonElement search=obj.get("value"); 

現在,GSON JsonElement '搜索' 包含以下JSON:

[{"title":"John Lennon","snippet":"English musician, singer"}] 

格式化:

[ 
    { 
     "title": "John Lennon", 
     "snippet": "English musician, singer", 
    } 
] 

我需要提取出以下兩個值標題和摘要。 如何?

回答

2

從外觀上來看,你可以使用getAsJsonArray()

JsonObject obj= str.getAsJsonObject(); 
JsonElement search= obj.get("value").getAsJsonArray().get(0) 

search.get("title") //John Lennon 

search.get("snippet") // English musician, singer 
+0

很好地工作,謝謝 – jjj 2014-09-04 19:22:49

1

使用JsonElement#getAsJsonArray()

JsonElement firstEntry = search.getAsJsonArray().get(0); 
firstEntry.get("title") // => John Lennon 
firstEntry.get("snippet") // => English musician, singer 

如果不能確定該元素實際上是一個陣列,然後使用JsonElement#isJsonArray()作爲前提條件:

if(search.isJsonArray()) { 
    JsonElement firstEntry = search.getAsJsonArray().get(0); 
    firstEntry.get("title") // => John Lennon 
    firstEntry.get("snippet") // => English musician, singer 
}