Arrays 将字段添加到数组元素中并保持原始结构
嗨,我有一个对象数组作为输入,比如Arrays 将字段添加到数组元素中并保持原始结构,arrays,json,add,jq,Arrays,Json,Add,Jq,嗨,我有一个对象数组作为输入,比如 [{"keyA": "value"}, {"keyA": "otherValue"}...] 存储在bash环境变量中。我想保留整个数组,但添加/更新第一个元素,结果如下 [{"keyA": "value", "newkey": "newvalue"}, {"keyA": &quo
[{"keyA": "value"}, {"keyA": "otherValue"}...]
存储在bash环境变量中。我想保留整个数组,但添加/更新第一个元素,结果如下
[{"keyA": "value", "newkey": "newvalue"}, {"keyA": "otherValue"}...]
我试过了
echo $a | jq '.[0]+{"newkey": "value"}'
但结果是一个单一的元素
{"keyA": "value", "newkey": "newvalue"}
但结果是
[{"keyA": "value"}, {"keyA": "otherValue"}...] {"keyA": "value", "newkey": "newvalue"}
如何获得完整的数组输入集并更新第一个元素?您需要使用一个there来保留原始结构和内容。例如:
.[0] += { newkey: "newvalue" }
.[0] += { newkey: "newvalue" }