是否可以在CLI中修改json对象?

时间:2016-02-02 15:20:28

标签: python json linux bash command-line-interface

我有数千个包含JSON对象的文件 比如

{ "mykey" :"myvalue"}

我必须在每个文件中添加一个键值 例如

{ "mykey" :"myvalue", "newkey": "newvalue"}

我知道我可以很容易地使用Python脚本来完成它。在CLI中有更简单的方法吗?像

这样的东西
   addjson "newkey" "newvalue" myfile*.json

2 个答案:

答案 0 :(得分:2)

您可以使用json node.js模块。 获取node.js后,您可以使用sudo npm install -g json

进行安装

用法json -I -f myfile.json -e 'this.newkey="newvalue"'

只有一个文件同时但正如你所说,你可以使用python 或者在bash中使用for循环的示例:for i in $(ls myfile*.json); do json -I -f $i -e 'this.newkey="newvalue"'; done

文档:http://trentm.com/json/

答案 1 :(得分:1)

请使用jq

添加键值对:

echo '{ "mykey" :"myvalue"}' | jq '. + {"newkey":"newvalue"}'

有关jq的更多信息,请参阅manualCookbook