我有一个像这样的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 )