字段的 Jolt 转换顺序

Jolt Transformation order of fields

我已关注输入 json

{
  "NAME1": "Mueller",
  "NAME2": "Max",
  "STREET1": "Adlerstr.",
  "STREET2": "1",
  "COUNTRY": "Munich"
}

我重命名了字段名称并连接了 street* 字段

[
  {
    "operation": "shift",
    "spec": {
      "NAME1": "name",
      "NAME2": "surName",
      "STREET1": "tmp_street1",
      "STREET2": "tmp_street2",
      "COUNTRY": "country"
    }
  },
  {
    "operation": "modify-default-beta",
    "spec": {
      "street": "=concat(@(1,tmp_street1),' ',@(1,tmp_street2))"
    }
},
  {
    "operation": "remove",
    "spec": {
      "tmp_*": ""
    }
  }
]

我得到以下输出

{
  "name" : "Mueller",
  "surName" : "Max",
  "country" : "Munich", // Should be after the street field 
  "street" : "Adlerstr. 1" 
}

是否可以移动 json 输出中第 3 个位置的街道字段?

是的,street 字段可以移动到 json 输出的第 3 个位置,只需两个操作。

检查此规范,

[
  {
    "operation": "modify-default-beta",
    "spec": {
      "street": "=concat(@(1,STREET1),' ',@(1,STREET2))"
    }
},
  {
    "operation": "shift",
    "spec": {
      "NAME1": "name",
      "NAME2": "surName",
      "street": "street",
      "COUNTRY": "country"
    }
  }
]