首页 > 解决方案 > 使用 jq 在数组顶部添加/添加元素

问题描述

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

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

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

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

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

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

标签: arraysjqprepend

解决方案


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

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

https://jqplay.org/s/XIsoZ4GvOa


推荐阅读