我正在寻找 JSONpath 表达式,仅当它包含另一个元素时才提取数组中的元素。
以下表达式返回所有元素;
$.differ.element[*]['id','alias']
这是 JSON 文件:
{
"differ": {
"element": [
{
"id": "Address",
"alias": [
"Information about address"
]
},
{
"id": "Address.extension",
"path": "Address.extension"
},
{
"id": "Address.extension:official",
"path": "Address.extension",
"alias": [
"Mark address"
]
}
]
}
}
这将产生以下输出:
[
"Address",
[
"Information about address"
],
"Address.extension",
"Address.extension:official",
[
"Mark address"
]
]
我想省略"地址扩展"元素,因为它没有别名。我怎样才能做到这一点?
你可以
试试这个
$.differ.element[?(@.alias)]
将得到这样的输出:
[
{
"id":"Address",
"alias":[
"Information about address"
]
},
{
"id":"Address.extension:official",
"path":"Address.extension",
"alias":[
"Mark address"
]
}
]