我有一个很大的JSON文件,我想根据某种映射来转换一些值。
我拥有的数据看起来像:
我想把它转化为这样的列表:
使用固定映射:
我的当前解决方案是基于一个简单的
但这实在太丑陋了,我希望有一种更直接的方式来表达映射关系。
谢谢你的帮助。
我拥有的数据看起来像:
[
{"id":1, "value":"yes"},
{"id":2, "value":"no"},
{"id":3, "value":"maybe"}
]
我想把它转化为这样的列表:
[
{"id":1, "value":"10"},
{"id":2, "value":"0"},
{"id":3, "value":"5"}
]
使用固定映射:
yes => 10
no => 0
maybe => 5
我的当前解决方案是基于一个简单的
if-elif-else
组合,像这样:cat data.json| jq '.data[] | .value = (if .value == "yes" then "10" elif .value == "maybe" then "5" else "0" end)'
但这实在太丑陋了,我希望有一种更直接的方式来表达映射关系。
谢谢你的帮助。