如何在对象顶部插入字段?

How to insert a field at the top of an object?

这是我的代码

element='{"x":"zero"}'
example='[
{
  "a":"one",
  "b":"two",
  "c":"three"
},
{
  "d":"four",
  "e":"five",
  "f":"six"
}]'

jq --argjson el "$element" '.[] += $el' <<< $example

目前输出

[
  {
    "a":"one",
    "b":"two",
    "c":"three",
    "x":"zero"
  },
  {
    "d":"four",
    "e":"five",
    "f":"six",
    "x":"zero"
  }
]

但我想让 "x":"zero" 成为所有数组元素的第一个元素,而不是最后一个。

.[] 迭代器反转变量是没有意义的。知道如何做到这一点吗?

为了使新字段出现在顶部,持有它的对象必须首先出现在添加语句中。例如:

$ jq  --argjson el "$element"  'map($el + .)'  <<< $example
[
  {
    "x": "zero",
    "a": "one",
    "b": "two",
    "c": "three"
  },
  {
    "x": "zero",
    "d": "four",
    "e": "five",
    "f": "six"
  }
]