これは十分に簡単なはずです...いくつかのキーの名前を変更したい(理想的にはjqを使用)。以下はjsonの例です。
[
{
"fruit": "strawberry",
"veg": "Apple",
"worker": "gardener"
}
]
Vegキーの名前をfruit2(または例、最も簡単なもの)に変更し、workerキーをジョブに変更します。
これはsedで可能であることに気づきましたが、jqでグリップを取得しようとしています
次の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( ... )
でラップできます。