如何使用json将包含多个对象的json文件转换为java对象列表

时间:2019-06-23 16:17:43

标签: java json gson twitch-api

我正在研究一个Java项目,该项目在Twitch上获取当天最受欢迎的片段的URL。为此,我使用以下代码向twitch API发送请求:

Assert.That(
    json1,
    Is.EqualTo( json2 ).Using<JToken>( JToken.DeepEquals ),
    "Jsons are not equal\n{0}\n{1}", json1.ToString(), json2.ToString() );

返回一个如下所示的json文件:

Visual Studio

尽管,我收到此错误:

TestContext.Out

1 个答案:

答案 0 :(得分:0)

您可以使用{ data: [{...}, {...}, {...}], pagination: {...} }从json中看到一个对象。您试图读取一个数组,但没有读取给定的对象。 该对象有一个数组data和一个对象pagination

假设您的对象TwitchData仅包含数据数组中的属性,则可以使用以下解决方案。

class Result {
    TwitchData[] data;
    Pagination pagination;
}

class Pagination{
    String cursor;
}

创建两个类之后,现在可以读取json。

Result r = gson.fromJson(new FileReader(out), Result.class);
return r.data;

这将为您返回数据数组,如果您愿意,也可以将其转换为列表。