【发布时间】:2018-06-20 05:30:28
【问题描述】:
map({Animal: .[].payload.animal})
| map(select(.Animal))[][]
使用下面的代码,我得到了我很长的 JSON 的以下输出:
[
[
"Dog",
"Cat"
]
]
[
[
"Dog",
"Cat",
"Bird"
]
]
从此输出中,我如何构建/添加到我的 JQ 命令以获得结果 2(狗的出现总数)。我已经玩了(几个小时!)使用 add 和 select 语句的组合来尝试获得所需的输出,但一直没能。非常感谢您对此的帮助!
根据要求:
示例输入:
[{
"Data": {
"IsInUS": 1,
"Pets": [
["Dog", "Cat", "Bird"]
],
"Favorite Pet": "Dog"
},
"UniqueID": "1234"
},
{
"Data": {
"IsInUS": 1,
"Pets": [
["Dog", "Cat", "Bird"]
]
"Favorite Pet": "Cat"
},
"UniqueID": "234"
}]
样本输出:2(计算狗的数量)。
我希望仅在“宠物”数据字段/键中计算“狗”的出现次数
【问题讨论】:
-
请在您的问题中添加示例输入和该示例输入所需的输出。
-
我已经更新了问题,感谢您的注意和帮助!
-
我猜你的例子不是有效的 JSON 代码。
-
嗨,cyus,我相信它是有效的 JSON(有一个额外的逗号,所以我只是添加了它)
-
请修复“示例输入”,使其成为有效的 JSON。你可能想使用
jq empty来验证,或者jsonlint.com
标签: arrays bash command-line count jq