使用Jolt Transformation基于JSON现有字段新增Key字段
Jolt转换实现字段拼接新增Key字段
需求
基于输入JSON中的Code、Number字段,与固定值DOCX通过~拼接,在fields数组的每个对象中新增Key字段,同时保留原有所有字段。
输入JSON
{"name": "XYZ","fields": [{"Code": "8000385","Number": "9010005790","docDate": "19-05-2022","dueDate": "30-09-2022","totValue": "209121.66","taxAmt": "0","docAmt": "3005797","dueAmt": "3005797","docType": "INV","divCode": null,"finYear": "2022"}]}
期望输出JSON
{"name": "XYZ","fields": [{"Code": "8000385","Number": "9010005790","docDate": "19-05-2022","dueDate": "30-09-2022","totValue": "209121.66","taxAmt": "0","docAmt": "3005797","dueAmt": "3005797","docType": "INV","divCode": null,"finYear": "2022","Key" : "8000385~9010005790~DOCX"}]}
Jolt转换规范
[ { "operation": "shift", "spec": { "*": "&", "fields": { "*": { "*": "fields[&1].&" } } } }, { "operation": "modify-overwrite-beta", "spec": { "fields": { "*": { "Key": "=concat(@(1,Code), '~', @(1,Number), '~', 'DOCX')" } } } } ]
说明
- shift操作:完整保留原有JSON结构和所有字段,确保不会丢失任何原始数据。
- modify-overwrite-beta操作:遍历
fields数组中的每个对象,通过concat函数将Code、Number与固定值DOCX用~拼接,生成新的Key字段。
内容的提问来源于stack exchange,提问作者SUDOGPX0168
相关产品推荐
相关产品推荐

