【发布时间】:2020-04-12 10:52:42
【问题描述】:
如何使用jq 来转换它:
[
{
"k": "a",
"v": 123
},
{
"k": "b",
"v": 456
}
]
进入这个:
{
"a": 123,
"b": 456
}
【问题讨论】:
-
你知道,这个网站是关于学习的。您应该提供您之前尝试过的示例,以便我们进一步为您提供帮助。
如何使用jq 来转换它:
[
{
"k": "a",
"v": 123
},
{
"k": "b",
"v": 456
}
]
进入这个:
{
"a": 123,
"b": 456
}
【问题讨论】:
重新构建每个对象,然后add 将它们全部重新构建成一个大的单一对象。
map({(.k): .v}) | add
如果您的输入是大型数据集,reduce 在性能方面可能是更好的选择。
reduce .[] as {$k,$v} ({}; . + {($k): $v})
【讨论】:
另一种选择,因为您的对象类似于条目的结构,您可以将它们映射为那些键/值对并以这种方式转换为对象。
map({key: .k, value: .v}) | from_entries
【讨论】: