我有一个 JSON 文件,我需要更新一个特定的值。
{
"Comment": "comment",
"test": {
"enabled": true
},
"enabled": true,
"otherStuff": blah,
"otherStuff2": blah,
"otherStuff3": blah,
}
我想将第二个“启用”的值更改为 false。使用 JQ Parser,我可以使用jq '.enabled '轻松检索它,但我不确定操作 JSON 的最佳方法是什么。
JSON 是我从 API 获得的响应,将来可能会发生变化,我不能依赖之前/之后的行或值。
一个快速的实验:
我将这个问题理解为“在 shell 中”,而不一定是“仅使用 bash 内置”。
尝试jsawk,它允许操作并且是可编写脚本的,认为它依赖于 js 作为依赖项。
如果您只想从 JSON 响应中读取(唯一)密钥,您可以(改编自Brendan OConnor):