给定以下 JSON 文件:
{
"quadrants": [
"Languages + Frameworks",
"Tools",
"Platforms",
"Techniques"
],
"entries": [
{
"quadrant": "Languages + Frameworks"
},
{
"quadrant": "Platforms"
},
{
"quadrant": "Languages + Frameworks"
}
]
}
如何将每个条目的象限字段替换为象限中对应值的索引?
预期输出:
{
"quadrants": [
"Languages + Frameworks",
"Tools",
"Platforms",
"Techniques"
],
"entries": [
{
"quadrant": 0
},
{
"quadrant": 2
},
{
"quadrant": 0
}
]
}
我尝试了以下 jq 脚本,但每个象限都得到
null
。
jq '
.entries |= map(
.quadrant = (.quadrant as $q | (.quadrants | index($q)))
)
' "$1"
您正在寻找这样的东西:
.quadrants as $l | .entries[].quadrant |= . as $e | $l | index($e)