【发布时间】:2022-01-20 09:03:27
【问题描述】:
我正在使用 JSONPath 过滤掉一个 json 文件,我试图从 JSON 数组中检索 Key + Value,但我不知道如何最好地做到这一点。
查询
$.phoneNumbers[*].[type,number]
阵列
{
"firstName": "John",
"lastName" : "doe",
"age" : 26,
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
},
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888",
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
}
},
{
"type" : "home",
"number": "0123-4567-8910",
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
}
}
]
}
电流输出
[
"iPhone",
"0123-4567-8888",
"home",
"0123-4567-8910"
]
期望的结果
[
{
"type" : "iPhone",
"number": "0123-4567-8888",
},
{
"type" : "home",
"number": "0123-4567-8910",
}
]
【问题讨论】:
-
原始博客文章说,实现应该能够返回值或路径,但不一定同时返回。此外,没有正式的规范(尽管我们正在编写一个),因此实现的支持各不相同。您需要检查您正在使用的实现。
-
目前 Jayway 实现返回键和值而不是 Goesnner 实现。试试jsonpath.herokuapp.com
标签: jsonpath json-path-expression