JSON:将项目的键/名称移动到属性中并使用 jq 将其转换为数组

问题描述 投票:0回答:1

这是原始的 json 示例:

{
  "item1": {
    "foo1": 1,
    "foo2": 2
},
  "item2": {
    "foo1": 11,
    "foo2": 22
  }
}

如何使用 jq 将其转换为具有新属性的 json 数组:

[
  {
    "name": "item1",
    "foo1": 1,
    "foo2": 2
  },
  {
    "name": "item2",
    "foo1": 11,
    "foo2": 22
  }
]

而且,非常有趣的是,如何进行相反的转换!

提前致谢!

我一直在尝试使用“keys”和“keys_unsorted”的不同方法,但从未成功((

json jq
1个回答
0
投票

。作为 $arr | $arr | keys # 获取数组的所有键(名称) |地图值( 。作为 $item | { item, # 保留原来的item 属性:$item | keys # 将名称移至“attribute”属性 } )

© www.soinside.com 2019 - 2024. All rights reserved.