java - Gson 嵌套对象内的嵌套对象

标签 java arrays json nested gson

我知道这个问题经常被提出,但到目前为止我还没有真正找到可以帮助我解决问题的答案(我尝试了其中的一些)。

基本上,我从这个 API http://api.tvmaze.com/singlesearch/shows?q=izombie&embed=episodes 获得 JSON 响应并且嵌套对象内还有相当多的嵌套对象。例如,使用 JSON 在线查看器查看它会得到以下输出: 对我来说有趣的是底部部分。更具体地说是“剧集”对象。到目前为止,我可以从 JSON 数组中提取基本信息(id、url、名称、类型...),但无法获取“三重(_embedded > Episodes > ...)”嵌套对象。

解析 JSON-Response 的代码:

public void parseJSON(String jsonResponse) throws IOException {
    GsonBuilder builder = new GsonBuilder();
    Gson gson = builder.create();
    Show show = gson.fromJson(jsonResponse, Show.class);
    System.out.println(show.getID() + "\n" + show.getName() + "\n" + show.getStatus());
}

表演类:

public class Show {
    private int id;
    private String name;
    private String status;


    public int getID() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getStatus() {
        return status;
    }
}

那么我如何获取剧集数组中从 0 到结尾的所有信息呢?非常感谢任何帮助!

旁注:我使用名为“readUrl”的方法获取 jsonResponse,但它现在几乎不相关。

最佳答案

GSON 可以很好地处理嵌入对象。假设您有一个嵌入了 Bar 的 Foo 类,您只需这样做

class Foo {
   public Bar bar;
}

它会为你解析 bar。这是递归的。如果需要数组,请使用 List<Bar>它会解析数组。

关于java - Gson 嵌套对象内的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40941704/

相关文章:

java - FitNesse 与 Jenkins : BindException - Possible port clash?

c - 插入排序进行到一半时打印数组的内容

javascript - 从对象中获取子 JSON 值

javascript - 如何在 Angular 输入中保留换行符

java - 在 O(logn) 中打印二叉树中的随机元素

java - 如何在Java中序列化不可序列化的?

java - 字符类型的 if/else 语句

java - 错误: generic array creation with my own object

java - 在 JSTL 中浏览二维数组列

ruby-on-rails - 在带有伤寒的 Rails 应用程序中将哈希数组作为参数传递给 POST 的问题