java - 如果有很多二级字段,如何解析嵌套的 json 文件?
问题描述
我正在尝试用 gson 解析一个 json 文件,我找到了多种解决方案。但我的问题是,我有很多领域?在课堂上真正把它们全部写下来。如何在不创建带有 name1 - name564 的类的情况下获取汽车内的信息 + 颜色?这是一个示例 json:´
{"test":
{"Name1":
{"number":"123",
"color":"red",
"cars":{"BMW":1,
"PORSCHE":2,
"MERCEDES":4,
"FORD":6}
},
.
.
.
.
.
.
"Name564":
{"number":"143",
"color":"blue",
"cars":{"BMW":9,
"PORSCHE":2,
"MERCEDES":3,
"FORD":7}
}
}
}
解决方案
您可以Map
用于映射。这是解析您的示例的代码:
class JsonRoot {
Map<String, JsonName> test;
}
class JsonName {
String number;
String color;
Map<String, Integer> cars;
}
...
JsonRoot jsonRoot;
Gson gson = new Gson();
try (BufferedReader reader = Files.newBufferedReader(Paths.get("test.json"))) {
jsonRoot = gson.fromJson(reader, JsonRoot.class);
}
推荐阅读
- android - 为不同大小的图像保持 ImageView 的大小不变
- batch-file - 如果在文件中找到“值”,则执行 if 语句
- python - 计算数据框列中真/假的出现次数
- javascript - 自定义去抖动功能不适用于匿名函数
- sql - Oracle SQL round up time interval to next day
- lodash - Angular 项目中的 Lodash 漏洞
- excel - excel 2016:如何允许不同的用户编辑不同范围的单元格
- c# - Selenium 和 KendoUI 下拉菜单
- amazon-web-services - Azure DevOps 管道
- linux - 在 PuTTY 连接中更改目录