给出以下JSON:
[
{
"json": {
"buildInfo": [
{
"first": "James",
"last": "d"
},
{
"first": "James2",
"last": "d2"
}
]
},
"status": 200
},
{
"json": {
"buildInfo": [
{
"first": "Jacob",
"last": "e"
},
{
"first": "Jacob2",
"last": "e2"
}
]
},
"status": 200
}
]
我试图查询内部列表键json.buildInfo。“ last”的值,然后提取多个键值,即json.buildInfo。*。“ first”。无论如何,我都在努力使它起作用。
我可以使用展平运算符找到数据...
[*].json.build[].last[contains(@,`d`)]
...但是我无法解决如何对此执行查询,然后让我获得额外的信息列表“第一个”键。在buildInfo上没有内部列表的json上,我可以做类似的事情
[?json.buildInfo.last==`d`].json.buildInfo.first
切换到buildInfo项列表非常困难。
有人可以在这里为我提供指导吗?
谢谢
答案 0 :(得分:0)
好的,这行得通-但不确定我知道为什么...
[?json.buildInfo [?contains(last,'d2')]]。json.build_info [] | [?last =='d']。first