使用jq在数组中追加对象的值

时间:2017-06-01 09:08:26

标签: jq

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

输入:

{
  "name": "Toyota",
  "Model": "Innova",
  "Details": [
    {
      "entry_day": "23",
      "entry_month": "May"
    },
    {
      "entry_day": "01",
      "entry_month": "Jan"
    }
  ]
}

我希望输出:

{
    "name": "Toyota",
    "Model": "Innova",  
    "Details": [
        {
            "entry_date": "23 May"
        },
        {
            "entry_date": "01 Jan"
        }
    ]
}

1 个答案:

答案 0 :(得分:4)

您需要使用update assignment operator |=

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