0

我无法完成这个拼图的最后一块。我想用 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"
}

这是我当前进度的链接。https://jqplay.org/s/fwjTN1CnFc

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

以下是我目前不太正确的错误结果:

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

任何帮助都是极好的!

4

1 回答 1

3

碰巧的是,您的 .list 完全适合 jq's from_entries,因此您可以简单地编写:

{a} + (.list|from_entries)

但是,您的方法很容易奏效:

{a} +  (.list | map({(.Key): .Value}) | add)
于 2019-01-08T21:49:30.207 回答