JOLT:将字段合并到嵌套对象中

JOLT: Merge a field into nested object

我是 JOLT 新手。我有这个 json 对象

{
  "query_time": "2021-20-25 12:10:12.000",
  "locations": [
    {
      "id": 1,
      "places": {
        "city": "Edmonton",
        "address": "example address 1"
      }
    },
    {
      "id": 2,
      "places": {
        "city": "Winnipeg",
        "address": "example address 2"
      }
    }
  ]
}

现在我想把它改成这样:

[
  {
    "id": 1,
    "city": "Edmonton",
    "address": "example address 1"
  },
  {
    "id": 2,
    "city": "Winnipeg",
    "address": "example address 2"
    
  }
]

请帮我定义一个 JOLT 规范来进行这种转换。 谢谢。

您可以使用 "*" 通配符收集嵌套在 places 键中的元素,同时通过使用 [=14 向上一级查找 id 元素的值=] 在 shift 转换规范中,例如

[
  {
    "operation": "shift",
    "spec": {
      "locations": {
        "*": {
          "places": {
            "@(1,id)": "[&2].id",
            "*": "[&2].&"
          }
        }
      }
    }
  }
]