这应该很容易......我想重命名几个键(最好用jq),不管我做什么似乎都是错误的。下面的示例JSON:使用jq我怎样才能用别的东西替换一个键的名字
]
{
"fruit": "strawberry",
"veg": "apple",
"worker": "gardener"
}
]
我想重命名蔬菜关键fruit2(或例如,无论是最简单的),也是工人关键工作。
我意识到这是可能的SED,但我试图去抓住与JQ :)
这应该很容易......我想重命名几个键(最好用jq),不管我做什么似乎都是错误的。下面的示例JSON:使用jq我怎样才能用别的东西替换一个键的名字
]
{
"fruit": "strawberry",
"veg": "apple",
"worker": "gardener"
}
]
我想重命名蔬菜关键fruit2(或例如,无论是最简单的),也是工人关键工作。
我意识到这是可能的SED,但我试图去抓住与JQ :)
起初,一个有效的JSON应该是这样的:
[
{
"fruit": "strawberry",
"veg": "apple",
"worker": "gardener"
}
]
使用以下JQ方法:
jq '[.[] | .["fruit2"] = .veg | .["job"] = .worker | del(.veg, .worker)]' file
输出:
[
{
"fruit": "strawberry",
"fruit2": "apple",
"job": "gardener"
}
]
的关键(:-)是with_entries。例如,给一个对象:
with_entries(if .key == "veg" then .key = "fruit2" else . end)
在你的情况,因为你有对象的数组,你可以换到上述情况map(...)
。
完美,这适合我:) – user3229731
@ user3 229731,不客气 – RomanPerekhrest