【问题标题】:Add a simple key-value pair to existing JSON using jq使用 jq 向现有 JSON 添加一个简单的键值对
【发布时间】:2019-11-09 20:57:48
【问题描述】:

我对 jq 完全陌生,很抱歉这个简单的问题,但我似乎无法找到答案。我如何简单地将新的 JSON 键/值对连接到一些现有的 JSON。例如,假设我有:

{"key1": "value1"} 

在 bash 脚本中的变量 A 中。我现在想补充:

{"key2": "value2"} 

使用 jq 到 A 以便 A 的结果内容是:

{"key1": "value1",
 "key2": "value2"}

我该怎么做?

【问题讨论】:

  • jq 看起来几乎相同:A=$(<<<$A jq '. + {key2: "value2"})
  • 上面的 jq 命令不起作用。它只是导致一个“>”提示。
  • GregH - chepner 的回答很好,除了明显缺失的单引号。

标签: jq


【解决方案1】:

在 bash 提示符下:

A='{"key1": "value1"}'
$ echo $A
{"key1": "value1"}
A=$(jq -n --argjson A "$A" '$A + {"key2": "value2"}')
$ echo $A
{ "key1": "value1", "key2": "value2" }
$ 

【讨论】:

  • 这不起作用。当执行并回显 $A 时,我得到结果:}key2": "value2",
  • 我更新了答案以澄清提示是 bash 提示。
猜你喜欢
  • 2020-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多