java - JSON 包含具有特定键和值的对象
问题描述
我想使用 Jackson 检查 JSON 是否包含具有特定键和值的对象。
例如
[
{
"name": "test1",
"value": [
"test1Value"
]
},
{
"name": "test2",
"value": [
"test2Value"
]
},
{
"name": "test3",
"value": [
true
]
}
]
之后:
JsonNode json = MAPPER.readTree(jsonString);
我想做一个功能hasObject(json, "name", "test2");
我怎样才能做到这一点?我也可以使用java 8。
谢谢
解决方案
好的,我想我找到了一种方法。
它使用Apache Commons Collections依赖项。
boolean found = false;
for (JsonNode field : IteratorUtils.toList(json.elements())) {
if (field.has("name") && field.get("name").textValue().equals("test2")) {
found = true;
break;
}
}
但我更喜欢 java8 风格的解决方案!
推荐阅读
- python - 将数字字符串列表转换为数字列表
- reactjs - 从另一个组件发送数据后,如何在 React JS 中调用函数?
- firebase - 目前有没有一种方法可以像使用实时数据库一样导出 Cloud Firestore 数据?
- c++ - std::to_string 函数的位置
- ms-access - 运行时错误 3134“INSERT INTO 语句中的语法错误 (Access VBA)
- webpack - webpack导入一个es6模块,它返回一个空对象?
- python - 递归函数(子集)返回空(python)
- vector - 如何使用 PDFBOX 捕获 PDF 文件中的矢量图像
- windows-installer - 当 Advanced Installer 尝试安装已安装在 Windows 中的程序时,如何选择默认选项?
- listview - 如何在具有许多列表视图的许多活动中使用适配器