下面是一个JSON对象:
{ ..., "projects": [ "abc", "xyz" ], ... }
我想把它转换成:
{ "abc": { "name": "abc" }, "xyz": { "name": "xyz" }, }
我很难创造这个。我试着使用map作为.projects | map({(.): { "name": (.) }} ),但它不是我想要的格式,最后以数组形式结束。
map
.projects | map({(.): { "name": (.) }} )
ftf50wuq1#
你要找的是这样的东西:
.projects | map({(.): {name: .}}) | add
Online demo
c6ubokkw2#
我有一点功能性思维,所以我会在这里找到reduce:
reduce
reduce .projects[] as $name ({}; . + {($name): {name: $name}})
产出
{ "abc": { "name": "abc" }, "xyz": { "name": "xyz" } }
2条答案
按热度按时间ftf50wuq1#
你要找的是这样的东西:
Online demo
c6ubokkw2#
我有一点功能性思维,所以我会在这里找到
reduce
:产出