【发布时间】:2015-12-10 21:47:53
【问题描述】:
由于复杂的原因,涉及从 Apple plist 到 xml2json 的旅行,我有一些 JSON 文件,其中包含这种形式的数据:
{
"key": [ "key1", "key2", "key3" ],
"string": [ "value1", "value2", "value3" ]
}
我想将其转换为普通的 JSON 对象:
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
经过一番摸索,我想出了这个jq 程序来解决问题:
jq '. as $d|[range(.key|length)|{"key":$d.key[.],"value":$d.string[.]}]|from_entries'
这行得通,但似乎有点令人费解。我想知道是否有更清洁的解决方案?
这确实类似于this question,但不同的是这是一个具有命名键和值元素的对象,而不是一个直接包含两个数组的数组。
【问题讨论】:
-
链接的问题具有相同的想法,但在您的情况下,您有一个键和值的对象,而不是键和值的数组。