我有一个JSON数组的对象:
[{key1: value},{key2:value}, ...]
Run Code Online (Sandbox Code Playgroud)
我想将这些减少到以下结构:
{key1: value, key2: value, ...}
Run Code Online (Sandbox Code Playgroud)
这可能与jq有关吗?
我在努力:
cat myjson.json | jq '.[] | {(.key): value}'
Run Code Online (Sandbox Code Playgroud)
这不是很有效,因为它迭代每个数据而不是将其减少到一个对象.
小智 6
请注意,jq有一个名为'add'的内置函数,与第一个答案建议的相同,所以你应该能够写:
jq add myjson.json
Run Code Online (Sandbox Code Playgroud)
小智 0
我相信以下方法会起作用:
cat myjson.json | jq 'reduce .[] as $item ({}; . + $item)'
Run Code Online (Sandbox Code Playgroud)
它获取数组中的每个项目,并将其添加到所有先前项目的总和中。