如果我忽略了一些非常明显的事情,请道歉;我刚刚发现jq
我正在尝试使用它来更新一个 JSON 值而不影响周围的数据。
我想通过管道curl
结果变成jq
,更新一个值,并将更新后的 JSON 通过管道传输到curl -X PUT
。就像是
curl http://example.com/shipping.json | jq '.' field: value | curl -X PUT http://example.com/shipping.json
到目前为止,我已经使用它来破解它sed
,但是在看了几个例子之后|=
运算符在jq
我确信我不需要这些。
这是一个 JSON 示例——我将如何使用jq
to set "local": false
,同时保留 JSON 的其余部分?
{
"shipping": {
"local": true,
"us": true,
"us_rate": {
"amount": "0.00",
"currency": "USD",
"symbol": "$"
}
}
}
您可以使用以下命令设置对象的值=
操作员。|=
另一方面用于更新值。这是一个微妙但重要的区别。过滤器的上下文发生变化。
由于您要将属性设置为常量值,因此请使用=
操作员。
.shipping.local = false
请注意,为属性设置值时,该值不一定必须存在。您可以通过这种方式轻松添加新值。
.shipping.local = false | .shipping.canada = false | .shipping.mexico = true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)