【问题标题】:Collapse JSON object with jq用 jq 折叠 JSON 对象
【发布时间】:2019-06-03 14:54:08
【问题描述】:

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

任何帮助都会很棒!

【问题讨论】:

    标签: arrays json jq flatten


    【解决方案1】:

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

    {a} + (.list|from_entries)
    

    不过,您的方法很容易奏效:

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

    【讨论】:

    • 啊!显然这里是新手,缺少串联。 from_entries 非常方便。谢谢!
    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多