通过bash脚本来更改json文件
发布时间:2020-12-15 18:55:01 所属栏目:安全 来源:网络整理
导读:我需要你的帮助来解决以下问题: 我有一个JSON文件,如下所示: { "key1": "value1","key2": "value2","key3": "value3"} 如何通过bash脚本添加和删除新的密钥(即“key4”:“value4”)? 在添加或删除新文件之前,我还看到在文件中的最后一个键结尾处添加或删
我需要你的帮助来解决以下问题:
我有一个JSON文件,如下所示: { "key1": "value1","key2": "value2","key3": "value3" } 如何通过bash脚本添加和删除新的密钥(即“key4”:“value4”)? 谢谢
你最好的办法是使用诸如
jq 之类的JSON CLI:
>在基于Ubuntu的Debian系统上,您可以通过sudo apt-get install jq安装它 示例,基于以下输入字符串 – 输出是stdout: jsonStr='{ "key1": "value1","key3": "value3" }' 删除“key3”: jq 'del(.key3)' <<<"$jsonStr" 添加属性“key4”,值为“value4”: jq '. + { "key4": "value4" }' <<<"$jsonStr" 将现有属性“key1”的值更改为“new-value1”: jq '.key1 = "new-value1"' <<<"$jsonStr" 如果要在现场更新JSON文件(概念上讲),请使用删除“key3”的示例: # Create test file. echo '{ "key1": "value1","key3": "value3" }' > test.json # Remove "key3" and write results back to test.json (recreate it with result). jq -c 'del(.key3)' test.json > tmp.$$.json && mv tmp.$$.json test.json 您无法直接替换输入文件,因此将结果写入临时文件,成功替换输入文件. 注意-c选项,它生成紧凑而不是漂亮的JSON. 有关所有选项和命令,请参阅http://stedolan.github.io/jq/manual/的手册. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |