如何通过Jolt转换为数组中的对象添加count字段
Jolt转换方案:给二维JSON数组元素添加递增count字段
需求说明
将二维JSON数组转换为指定键名的对象数组,同时为每个对象添加从1开始递增的count字段。
Jolt转换规范
[ { "operation": "shift", "spec": { "*": { "0": "[&1].policyReference", "1": "[&1].insuredId", "2": "[&1].insuredName", "3": "[&1].uwy", "4": "[&1].subLOB", "5": "[&1].typeOfRisk", "6": "[&1].aircraftcountryCode", "7": "[&1].aircraftId", "8": "[&1].manufacturerId", "9": "[&1].aircraftTypeCode", "10": "[&1].aircraftSubTypeCode", "11": "[&1].aircraftValueAmt", "12": "[&1].aircraftWorkNo", "13": "[&1].yearBuilt" } } }, { "operation": "modify-overwrite-beta", "spec": { "*": { "count": "=intSum(@(1,index),1)" } } } ]
规范解释
- shift操作:将二维数组中每个子数组的元素按位置映射到对应的对象键名,
&1代表当前父级数组的索引,确保每个子数组对应输出数组中的一个对象。 - modify-overwrite-beta操作:利用Jolt内置的
index变量(数组元素索引,从0开始),通过intSum函数将索引加1,生成从1开始递增的count字段。
输入示例
[ [ "20084541", "12020584", "Frohmann Dov", "2017", "2", "75", "T7", "DFZ", "CES", "", "", "0", "90", "2010" ], [ "20084541", "12020584", "Frohmann Dov", "2017", "3", "21", "T7", "DFZ", "CES", "", "", "0", "90", "2010" ] ]
输出示例
[ { "policyReference": "20084541", "insuredId": "12020584", "insuredName": "Frohmann Dov", "uwy": "2017", "subLOB": "2", "typeOfRisk": "75", "aircraftcountryCode": "T7", "aircraftId": "DFZ", "manufacturerId": "CES", "aircraftTypeCode": "", "aircraftSubTypeCode": "", "aircraftValueAmt": "0", "aircraftWorkNo": "90", "yearBuilt": "2010", "count": 1 }, { "policyReference": "20084541", "insuredId": "12020584", "insuredName": "Frohmann Dov", "uwy": "2017", "subLOB": "3", "typeOfRisk": "21", "aircraftcountryCode": "T7", "aircraftId": "DFZ", "manufacturerId": "CES", "aircraftTypeCode": "", "aircraftSubTypeCode": "", "aircraftValueAmt": "0", "aircraftWorkNo": "90", "yearBuilt": "2010", "count": 2 } ]
内容的提问来源于stack exchange,提问作者vyshnavi dama
相关产品推荐
相关产品推荐

