0

我有一个类似于这样的 JSONObject:

{
 "category":"abc"
 "staus":""open"
 "external":[
       {"name":"123", "type":"OTHER"},
       {"name":"678", "type":"ALPHA"},
       {"name":"890", "type":"DELTA"}
 ]
}

如果我想使用 JSONAssert 来检查 item {"name":"678"} 是否存在并且我不知道 item 的 order 和 "external" 数组中的 item 数量,我应该如何在 Java 中执行?

似乎 ArrayValueMatcher 应该是要走的路,但我就是无法让它工作。

请帮忙

4

1 回答 1

1

您可以将JsonPath用于此用例:

JSONArray array = JsonPath.read(json, "$.external[?(@.name == '678')]");
Assertions.assertThat(array).hasSize(1);
于 2019-03-08T16:08:04.397 回答