我有一个类似这样的JSONObject:
{
"category":"abc"
"staus":""open"
"external":[
{"name":"123", "type":"OTHER"},
{"name":"678", "type":"ALPHA"},
{"name":"890", "type":"DELTA"}
]
}
如果我想使用JSONAssert检查项目{“ name”:“ 678”}是否存在,并且我不知道该项目的顺序和“外部”数组中的项目数,该如何处理Java?
似乎应该使用ArrayValueMatcher,但我只是无法使它工作。
请帮助
答案 0 :(得分:1)
在该用例中,您可以使用JsonPath:
JSONArray array = JsonPath.read(json, "$.external[?(@.name == '678')]");
Assertions.assertThat(array).hasSize(1);