用 jq 折叠 JSON 个对象

Collapse JSON object with jq

我无法完成最后一块拼图。我想展平一个包含带有 jq 的数组的 JSON。当前进度:https://jqplay.org/s/fwjTN1CnFc

输入:

{
    "a": "1",
    "list": 
    [
        {
            "Key": "b",
            "Value": "2"
        },
        {
            "Key": "c",
            "Value": "3"
        },
        {
            "Key": "d",
            "Value": "4"
        }
    ]
}

预期输出:

{
  "a": "1",
  "b": "2",
  "c": "3",
  "d": "4"
}

这是 link 我目前的进度。 https://jqplay.org/s/fwjTN1CnFc

我目前正在使用这个查询{a: .a}, (.list | map({(.Key): .Value}) | add)

这是我目前不正确的结果,我不太正确:

{
  "a": "1"
}
{
  "b": "2",
  "c": "3",
  "d": "4"
}

任何帮助都会很棒!

碰巧,你的 .list 完全适合 jq 的 from_entries,所以你可以简单地写:

{a} + (.list|from_entries)

但是,您的方法可以很容易地发挥作用:

{a} +  (.list | map({(.Key): .Value}) | add)