JSON包含具有特定键和值的对象

时间:2018-07-03 14:38:17

标签: java json jackson

我想使用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。

谢谢

1 个答案:

答案 0 :(得分:0)

好吧,我想我找到了办法。

它使用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风格的解决方案!