1

我有使用 Bing-Search-API 检索的 JSON。现在,我不确定如何使用 GSON 访问嵌套元素。我已经为 JSON 结构数据制作了源文件

如果我这样做:

Gson gson = new Gson();

JsonParser parser = new JsonParser();

JsonArray Jarray = parser.parse(jsonText).getAsJsonArray();

它会抛出我不是 a JsonArray,所以如果我将它更改为JsonObject,我如何String MediaUrlResults.java中检索?

谢谢

4

1 回答 1

4

基于Gson类的 javadoc:

    Gson gson = new Gson();
    Response response = gson.fromJson(jsonText, Response.class);
    Results firstResult = response.getD().getResults().get(0);
    System.out.println(firstResult.getMediaUrl());

所以你不需要JsonParser直接使用。

您的 java 类必须稍作修改才能使其正常工作:

  • results字段的类型D.java必须是List<Results>这样Gson才能找出要填充的对象的类。
  • 属性/字段的命名不一致,有些以小写开头,有些以大写开头。确保它们在 java 类和 json 字符串中相同(考虑区分大小写)。可以通过使用适当的FieldNamingStrategy进行序列化/反序列化来解决此问题。
于 2013-08-13T16:43:47.337 回答