使用 jq 在数组内附加对象的值

Dev*_*hat 1 jq

我有一个对象,它有一个对象数组。我愿意在数组中附加每个对象的两个属性并从中创建一个新键。我是 JQ 的新手,并尝试了各种方法来做到这一点,但无法弄清楚。需要帮忙。

输入:

{
  "name": "Toyota",
  "Model": "Innova",
  "Details": [
    {
      "entry_day": "23",
      "entry_month": "May"
    },
    {
      "entry_day": "01",
      "entry_month": "Jan"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我期望的输出:

{
    "name": "Toyota",
    "Model": "Innova",  
    "Details": [
        {
            "entry_date": "23 May"
        },
        {
            "entry_date": "01 Jan"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

hek*_*mgl 5

您需要使用更新赋值运算符 |=

jq '(.Details[]|={entry_date:"\(.entry_day) \(.entry_month)"})' input.json
Run Code Online (Sandbox Code Playgroud)