在shell脚本中,我有下面的对象数组:
response={
"product": "BIG MAC",
"objects": [
{
"qty": 10,
"size": 32
},
{
"qty": 20,
"size": 53
},
{
"qty": 10,
"size": 54
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在写一个jq函数来获取总量。
data=$( echo $response | jq '.objects[] | .qty ' )
Run Code Online (Sandbox Code Playgroud)
这给了我一行数量,例如
10 20 10
Run Code Online (Sandbox Code Playgroud)
我如何总结这些来获得价值:
40
Run Code Online (Sandbox Code Playgroud)
创建一个数组并将其通过管道传输add:
jq '[.objects[] | .qty] | add'Run Code Online (Sandbox Code Playgroud)
使用map可能会使这更简单,因为您不必先“索引” .objects:
jq '.objects | map(.qty) | add'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |