次の場所にJSONファイルがあります/tmp/target.json
。
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
...
}
}
次のように新しいキーと値のペアを追加したいと思います。
{
"compileOnSave": false,
"compilerOptions": {
"skipLibCheck": true,
"baseUrl": "./",
...
}
}
次のコマンドを使用しますが、機能しません。
jq --argjson addobj '{"skipLibCheck": "true"}' '
.compilerOptions{} |= $addobj
' /tmp/target.json
次のエラーが発生します。
jq: error: syntax error, unexpected '{', expecting $end (Unix shell quoting issues?) at <top-level>, line 2:
.compilerOptions{} |= $addobj
jq: 1 compile error
私は何が間違っていましたか?期待どおりに機能させるにはどうすればよいですか?
ベストアンサー1
このように:
$ jq '.compilerOptions.skipLibCheck=true' file.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"skipLibCheck": true
}
}