JSONpath,如果其他元素有值,则只有 return 结果
JSONpath, only return result if other element has a value
我正在寻找 JSON路径表达式,仅当数组包含另一个元素时才提取数组中的元素。
以下表达式returns所有元素;
$.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"
]
]
我想省略 'Address.extension' 元素,因为它没有别名。
我怎样才能做到这一点?
你可以试试这个
$.differ.element[?(@.alias)]
会得到这样的输出:
[
{
"id":"Address",
"alias":[
"Information about address"
]
},
{
"id":"Address.extension:official",
"path":"Address.extension",
"alias":[
"Mark address"
]
}
]
我正在寻找 JSON路径表达式,仅当数组包含另一个元素时才提取数组中的元素。
以下表达式returns所有元素;
$.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"
]
]
我想省略 'Address.extension' 元素,因为它没有别名。 我怎样才能做到这一点?
你可以试试这个
$.differ.element[?(@.alias)]
会得到这样的输出:
[
{
"id":"Address",
"alias":[
"Information about address"
]
},
{
"id":"Address.extension:official",
"path":"Address.extension",
"alias":[
"Mark address"
]
}
]