所以我正在处理以下json:
{
"id": "",
"owner": "some dude",
"metaData": {
"request": {
"ref": null,
"contacts":[
{
"email": null,
"name": null,
"contactType": "R"
},
{
"email": null,
"name": "Dante",
"contactType": "S"
}
]
}
}
}
我想要检索类型为S
的联系人的name
,并且只返回第一个结果。
使用此路径"$..contacts[?(@.contactType == 'S')].name"
的jsonpath总是返回字符串数组,因为过滤操作始终以数组形式返回结果。
所以我尝试了"$..contacts[?(@.contactType == 'S')].name[0]"
和"$..contacts[?(@.contactType == 'S')][0].name"
,但没有成功。这些路径返回空结果。
所以我的问题是,在使用jsonpath时是否有方法仅获取过滤后的第一个元素。我当前正在使用jayway jsonpath v2.2.0。