【问题标题】:How to unflatten a JSON object?如何展开 JSON 对象?
【发布时间】:2021-05-08 12:04:36
【问题描述】:

如何转换扁平化的 JSON,如下所示

{
  "foo.bar1": "1",
  "foo.bar2": "2",
  "foo.bar3.doo1": "3",
  "foo.bar3.doo2" : "4"
}

像嵌套一样

{
  "foo": {
    "bar1": "1",
    "bar2": "2",
    "bar3": {
      "doo1": "3",
      "doo2": "4"
    }
  }
}

?我可以找到很多关于扁平化嵌套 JSON 的帖子,但反之亦然。

【问题讨论】:

    标签: json object nested jq


    【解决方案1】:

    将键转换为路径,并使用 setpath 将值放在其原始位置。

    . as $in | reduce keys_unsorted[] as $k ({}; setpath($k / "."; $in[$k]))
    

    Online demo

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2020-09-05
      • 2016-11-24
      • 2020-12-27
      • 1970-01-01
      相关资源
      最近更新 更多