乐闻世界logo
搜索文章和话题

How do I update a single value in a json document using jq?

1 个月前提问
1 个月前修改
浏览次数3

1个答案

1

在使用 jq 更新 JSON 文档中的单个值时,您可以使用 jq 的函数和过滤器来精确地定位和修改您需要更新的值。jq 是一个强大的命令行 JSON 处理器,它允许您以非常灵活的方式读取和更新 JSON 数据。

下面是一个具体的例子,说明如何使用 jq 来更新 JSON 文档中的单个值:

假设我们有以下 JSON 文件(data.json):

json
{ "name": "张三", "age": 30, "city": "北京" }

现在,我们想要更新 age 的值从 30 改为 31。使用 jq,您可以通过以下命令来实现:

bash
jq '.age = 31' data.json

这个命令将会输出更新后的 JSON:

json
{ "name": "张三", "age": 31, "city": "北京" }

如果您想要将结果保存回原始文件,可以使用重定向或者 jq-r(raw output)选项,配合 shell 命令来实现。例如:

bash
jq '.age = 31' data.json > temp.json && mv temp.json data.json

或者使用 sponge 从更多实用程序包:

bash
jq '.age = 31' data.json | sponge data.json

通过这种方式,您可以灵活地更新 JSON 文档中的任何值,而无需编写复杂的脚本或手动编辑文件。

2024年8月15日 12:01 回复

你的答案