一尘不染

使用GSON解析嵌套的JSON数据

json

我正在尝试使用具有以下结构的Java中的gson解析一些JSON数据,但是通过在线查看示例,我找不到任何能完成此工作的东西。

有人可以协助吗?

{
    "data":{
        "id":[
            {
                "stuff":{

                },
                "values":[
                    [
                        123,
                        456
                    ],
                    [
                        123,
                        456
                    ],
                    [
                        123,
                        456
                    ],

                ],
                "otherStuff":"blah"
            }
        ]
    }
}

阅读 400

收藏
2020-07-27

共1个答案

一尘不染

您只需要创建一个Java类结构即可表示JSON中的数据。为了做到这一点,我建议您将JSON复制到此在线JSON
Viewer中
,您会发现JSON的结构更加清晰…

基本上,您需要这些类(伪代码):

class Response
  Data data

class Data
  List<ID> id

class ID
  Stuff stuff
  List<List<Integer>> values
  String otherStuff

请注意,您的类中的属性名称必须与JSON字段的名称匹配!您可以根据实际的JSON结构添加更多属性和类。还要注意,所有属性都需要getter和setter!

最后,您只需要使用以下方法将JSON解析为Java类结构:

Gson gson = new Gson();
Response response = gson.fromJson(yourJsonString, Response.class);

就是这样!现在,您可以response使用getter和setter 访问对象内的所有数据…

例如,要访问第一个值456,您需要执行以下操作:

int value = response.getData().getId().get(0).getValues().get(0).get(1);
2020-07-27