如何从命令行修改JSON文件中的键值

Ida*_*dar 8 shell command-line json

是否有可能改变valuekey,从命令行JSON文件?

例如,在package.json中:

更改

{
    ...
    ...
    "something": "something",
    "name": "idan" 
    ...
}
Run Code Online (Sandbox Code Playgroud)

{
    ...
    ...
    "something": "something",
    "name": "adar" 
    ...
}
Run Code Online (Sandbox Code Playgroud)

Ida*_*dar 12

实现它的一种方法是使用"json"npm包,例如:

json -I -f package.json -e "this.name='adar'"
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用jq CLI,例如:

mv package.json temp.json
jq -r '.name |= "adar"' temp.json > package.json
rm temp.json
Run Code Online (Sandbox Code Playgroud)

  • jq -r '.name |= "adar"' package.json | Sponge package.json “sponge”位于必须首先安装的“moreutils”包中。 (2认同)