我正在解析嵌套的 json 以从 json 响应中获取特定值。 json响应如下:
{
"custom_classes": 2,
"images":
[
{
"classifiers":
[
{
"classes":
[
{
"class": "football",
"score": 0.867376
}
],
"classifier_id": "players_367677167",
"name": "players"
}
],
"image": "1496A400EDC351FD.jpg"
}
],
"images_processed": 1
}
从类 images=>classifiers=>classes:"class" 和 "score" 是我想要保存在 csv 文件中的值。我已经找到了如何将结果保存在 csv 文件中。但我无法解析images
独自的。我可以得到custom_classes
and image_processed
.
我在用jq-1.5
.
我尝试过的不同命令:
curl "Some address"| jq '.["images"]'
curl "Some address"| jq '.[.images]'
curl "Some address"| jq '.[.images["image"]]'
大多数时候错误是关于无法索引数组images
.
有什么提示吗?
我必须说,我不太擅长jq
,所以可能所有这些数组迭代都可能以某种方式短缺,但这会产生您提到的值:
cat foo.json | jq ".[] | .images | .[] | .classifiers | .[] | .classes | .[] | .[]"
如果您也想要钥匙,只需省略最后一个即可.[]
.`
Edit正如@chepner 在评论中指出的那样,这确实可以缩短为
cat foo.json | jq ".images[].classifiers[].classes[] | [.class, .score] | @csv "
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)