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

use*_*731 3 arrays prepend jq

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

{
  "examples": [
    {
      "example": "2"
    },
    {
      "example": "3"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

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

jq '.examples +=
[{"example": "1",
}]' example.json
Run Code Online (Sandbox Code Playgroud)

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

{
  "examples": [
    {
      "example": "1"
    },
    {
      "example": "2"
    },
    {
      "example": "3"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

cus*_*der 5

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

.examples |= [{example: "1"}] + .
Run Code Online (Sandbox Code Playgroud)

https://jqplay.org/s/XIsoZ4GvOa