use*_*211 1 bash select json jq
我试图循环遍历 json 文件中的每个对象并获取idwhere trunkis的名称true。现在我只获取id每个对象的 。
json 文件:
[
{
"id": "bmw",
"color": "blue",
"trunk": true,
"seat": false
},
{
"id": "merceredes",
"color": "blue",
"trunk": false,
"seat": false
}
]
Run Code Online (Sandbox Code Playgroud)
bash脚本:
/bin/bash
for id in `jq -r -c .[] file.json`; do
echo $id | jq -r .id
done
Run Code Online (Sandbox Code Playgroud)
您尚未\xe2\x80\x99t 指定所需的精确输出形式,但以下说明了解决该问题的一种方法:
\n\njq '.[] | select(.trunk == true) | .id' file.json\nRun Code Online (Sandbox Code Playgroud)\n\n如果 .trunk 是布尔值,您可以将select参数简化为.trunk.