如何使用jq创建JSON对象

jtoj6r0c  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(128)

下面是一个JSON对象:

{
...,
"projects": [
    "abc",
    "xyz"
  ],
...
}

我想把它转换成:

{
  "abc": {
    "name": "abc"
  },
  "xyz": {
    "name": "xyz"
  },
}

我很难创造这个。我试着使用map作为.projects | map({(.): { "name": (.) }} ),但它不是我想要的格式,最后以数组形式结束。

ftf50wuq

ftf50wuq1#

你要找的是这样的东西:

.projects | map({(.): {name: .}}) | add

Online demo

c6ubokkw

c6ubokkw2#

我有一点功能性思维,所以我会在这里找到reduce

reduce .projects[] as $name ({}; . + {($name): {name: $name}})

产出

{
  "abc": {
    "name": "abc"
  },
  "xyz": {
    "name": "xyz"
  }
}

相关问题