Java 从条件匹配的json返回特定属性
我使用rest-assured并尝试访问id的where-condition like=false与restasured-jsonpath的匹配Java 从条件匹配的json返回特定属性,java,json,jsonpath,Java,Json,Jsonpath,我使用rest-assured并尝试访问id的where-condition like=false与restasured-jsonpath的匹配 { "data": { "content": [{ liked=true, id=7fe9cb9a-51e9-e611-80bb-000c297d31d1 }, { liked=true, id=f60a496d-e5d1-e611-80ba-000c297d31d
{
"data": {
"content": [{
liked=true,
id=7fe9cb9a-51e9-e611-80bb-000c297d31d1
},
{
liked=true,
id=f60a496d-e5d1-e611-80ba-000c297d31d1
},
{
liked=false,
id=4fb4abfb-8ac3-e611-80ba-000c297d31d1
}]
}
}
下面的代码返回所有对象,但我只需要id属性列表。我该怎么做
List<String> aa = response.get("data.content.findAll { content -> content.isLiked == false }");
List aa=response.get(“data.content.findAll{content->content.isLiked==false}”);
使用此解决方案仅返回具有条件的所需属性
ReadContext rx = JsonPath.parse(resp.getBody().asString());
List<String> asdf = rx.read("data.content[?(@.isLiked == false)].id");
ReadContext rx=JsonPath.parse(resp.getBody().asString());
列表asdf=rx.read(“data.content[?(@.isLiked==false)].id”);
这甚至不是一个有效的JSON。