放心 - JsonPath - 我需要根据条件同时提取两个值



我在使用 JsonPath 提取值时遇到困难。这是我的json,

applications:[
{
"ab": 123,
"isReady": true,
"proId": 234
},
{
"ab": 345,
"isReady": false,
"proId": 098
},
{
"ab": 332,
"isReady": true,
"proId": 100
}
]

我想在"isReady"值为真时提取"ab"和"proId"的值。完成后,我需要使用上述值构造以下 json。下面的示例,

[
{  
"ab": 332,
"proId": 100
},
{
"ab": 123,
"proId": 234
}
]

我只能提取如下所示的单个值,

List<Integer> abList = jsonFindAllUserJobApplicantsResponse.get("applications.findAll{ it.isReady == true}.ab");
List<Integer> proIdList = jsonFindAllUserJobApplicantsResponse.get("applications.findAll{ it.isReady == true}.proId");

在这种情况下,您能否帮助如何提取和构建所需的结果?

非常感谢您的帮助。

试试这个:

ArrayList<Map<String,?>> result = jsonFindAllUserJobApplicantsResponse.get("applications.findAll{ it.isReady == true}");
try {
// use Jackson library to convert map to json string
new ObjectMapper().writeValueAsString(result);
} catch (JsonProcessingException e) {
e.printStackTrace();
}

参考: https://james-willett.com/2017/05/rest-assured-gpath-json/

相关内容

  • 没有找到相关文章

最新更新