jq:更改多个值

标签 jq

我正在尝试使用此行更改多个 json 值

 jq '.two="newval", .three="newval"' my.json 

这是输入
{
  "one": {
    "val": 1
  },
  "two": "val",
  "three": "val",
  "four": "val"
}

但输出是 2 个 jsons:
{
  "one": {
    "val": 1
  },
  "two": "newval",
  "three": "val",
  "four": "val"
}
{
  "one": {
    "val": 1
  },
  "two": "val",
  "three": "newval",
  "four": "val"
}

如何在一项中更改多个值和输出?

最佳答案

只需将逗号更改为竖线字符即可:

.two="newval" | .three="newval"

","用于连接流:A,B将发出 A,然后是 B。

关于jq:更改多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47355901/

相关文章:

indexing - 如何使用 jq 将数组中对象的数组索引注入(inject)到对象中

json - 遍历字典 jq - shell

json - 使用 jq 将 JSON 对象转换为 Prometheus 指标格式

Bash/JQ - 解析错误 : Expected separator between values at line 1, 第 63 列

json - 使用 jq 解析 AWS CLI 工具的 json 输出

json - 使用 jq 从没有双引号的 JSON 中连接数字

bash - 在 bash 中将行转换为 json

json - 使用 jq 将五个单独的对象聚合到所需的输出

json - jq:按顺序只打印特定的键和值

azure - 无法在azure devops管道中执行命令jq命令