我有一个这样的 json:
{
"key_1": {
"type": "string",
"value": "foo"
},
"key_2": {
"type": "string",
"value": "bar"
}
}
我想这样输出
{
"key_1": "foo",
"key_2": "bar"
}
jq '.[].value'
会给我值:
"foo"
"bar"
虽然这个 jq '(.[] = .[].value)'
会给我
{
"key_1": "foo",
"key_2": "foo"
}
{
"key_1": "bar",
"key_2": "bar"
}
所以我不确定..
最佳答案
由于任务需要映射顶级键的值,因此应该想到 map_values
:
map_values(.value)
您还可以使用 with_entries
,如果您还想操作顶级键,这可能很有意义:
with_entries( .value |= .value )
关于json - 移动 jq 中的嵌套值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57055808/