JSON解析问题(获取属性)

时间:2014-09-04 10:38:00

标签: json gson

我使用GSON解析了JSON,而对象得到了我需要的元素:

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

现在,GSON JsonElement'search'包含以下JSON:

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

格式化:

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

我需要提取以下两个值title和snippet。 怎么样?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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
}