2014-09-04 101 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 
}