需要Jolt Spec将JSON数组键名转换为更新的名称

问题描述

原始JSON消息:

[
  {
    "correlationId": "12345","payloadFormat": "Money","payload": {
      "stateName": "TX","location": "south","name": "Dallas","pop": "2M"
    }
  },{
    "correlationId": "ed1e3","payloadFormat": "Cash","payload": {
      "stateName": "CA","location": "west","name": "LosAngeles","pop": "4M"
    }
  }
]

输出应采用以下格式:

[
  {
    "correlationId": "12345","payload": {
      "California": "TX","MontGomery": "south","City": "Dallas","ID": "2M"
    }
  },"payload": {
      "California": "CA","MontGomery": "west","City": "LosAngeles","ID": "4M"
    }
  }
]

解决方法

检查此规格

[
  {
    "operation": "shift","spec": {
      "*": {
        "correlationId": "[&1].correlationId","payloadFormat": "[&1].payloadFormat","payload": {
          "stateName": "[&2].payload.California","location": "[&2].payload.MontGomery","name": "[&2].payload.City","pop": "[&2].payload.ID"
        }
      }
    }
  }
]