java - 使用java在json中使用多个键获取键值
问题描述
如何在java中使用多个键获取键值?
示例:我想提取 id=121 和 number=1 的名称
[{
"id": 121,
"name": "Pants",
"number": 1,
"specification": ""
},
{
"id": 121,
"name": "color",
"number": 2,
"specification": ""
}];
解决方案
如果您有专门的课程,例如:
class A {
private String id;
private String name;
private int number;
private String specification;
//getters and setters method
}
然后您可以使用org.codehaus.jackson.map.ObjectMapper
从 json 创建对象:
ObjectMapper mapper = new ObjectMapper();
A[] objects = mapper.readValue(jsonString, A[].class);
现在,@vader 是如何提到它的,您可以使用过滤器方法来获得正确的值:
List<A> list = Arrays.stream(objects)
.filter(obj -> obj.getId().equals("121") && obj.getNumber() == 1)
.collect(Collectors.toList());
推荐阅读
- mysql - MYSQL 按组显示总和和状态
- javascript - 在角度中使用拼接时控制删除元素
- html - 中心内容和叠加图-MAP-SVG
- git - Heroku 无法推送到 master 分支
- html - 更改特殊星座中svg的填充颜色
- python - vtk HardwareSelector.py 示例的问题 - 仅间歇性工作
- api - 从 Ms-Project 拉取数据到另一个应用程序
- javascript - “无法访问此站点 localhost 拒绝连接”
- eclipse - 可能的文件搜索内存泄漏 Eclipse 2019-03 v4.11
- date - If-Else-Then with today()