我正在尝试使用JQ从Json获取值。
我必须从inputJson(activeItem)获取一个ID,并使用该ID从下面的项目列表中获取元素的名称。
可以在单个查询中完成吗?
{
"amazon": {
"activeitem" : 2,
"items": [
{
"id" : 1,
"name": "harry potter",
"state": "sold"
},
{
"id" : 2,
"name": "adidas shoes",
"state": "in inventory"
},
{
"id" : 3,
"name": "watch",
"state": "returned"
}
]
}
}
现在我首先获取值并进行过滤,而我想在单个查询中进行。
答案 0 :(得分:1)
使用您的数据,过滤器:
.amazon
| .activeitem as $id
| .items[]
| select(.id == $id)
| .name
产生:
"adidas shoes"
(如果需要原始字符串,请使用-r命令行选项。)