這應該很容易......我想重命名幾個鍵(最好用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