使用 jq 将元素添加/添加到数组顶部

问题描述

我有以下 json 文件(example.json):

{
  "examples": [
    {
      "example": "2"
    },{
      "example": "3"
    }
  ]
}

我想使用 jq 在这个数组的顶部(而不是底部添加一个新元素。我想出的所有解决方案都只是将其添加底部(我在下面使用的代码):

jq '.examples +=
[{"example": "1",}]' example.json

所需的输出(如果不是很明显)是:

{
  "examples": [
    {
      "example": "1"
    },{
      "example": "2"
    },{
      "example": "3"
    }
  ]
}

解决方法

您可以使用 + 连接数组,以便将新对象添加到数组中并连接其余对象:

.examples |= [{example: "1"}] + .

https://jqplay.org/s/XIsoZ4GvOa