在Boomi中合并两个JSON数据集的技术咨询
在Boomi中合并两个JSON数据集的解决方案
问题说明
需要合并两个同Id的入站JSON数据集:
- 入站数据集1:
{"Id": 1,"Program": [{"ProgramId": "A","ProgramName": "ProgramA"},{"ProgramId": "B","ProgramName": "ProgramB"}]}
- 入站数据集2:
{"Id": 1,"Course": [{"CourseId": "C1","CourseName": "Course 1"},{"CourseId": "C2","CourseName": "Course 2"}]}
期望合并后的结构:
{"Id": 1,"Program": [{"ProgramId": "A","ProgramName": "ProgramA"},{"ProgramId": "B","ProgramName": "ProgramB"}],"Course": [{"CourseId": "C1","CourseName": "Course 1"},{"CourseId": "C2","CourseName": "Course 2"}]}
已定义包含Program和Course的输出JSON Profile,但执行Combine JSON操作时无法选择合并用的元素或键。
解决步骤
1. 替换Combine JSON组件
Combine JSON更适合同结构数组的合并,这种合并不同顶级属性的场景,改用Map组件实现更直接。
2. 配置数据路由与Map组件
- 将两个入站数据集分别接入Map组件的不同输入分支(如Input 1和Input 2)。
- 在Map组件内,将输出Profile的
Id字段映射到任意一个输入数据集的Id字段(两个数据集Id一致)。 - 直接把Input 1的
Program数组映射到输出的Program字段,Input 2的Course数组映射到输出的Course字段。
3. 多Id场景处理(可选)
如果后续有多个不同Id的数据集需要合并,先添加Group By组件,按Id字段分组后再进入Map组件,确保同Id的Program和Course数据关联匹配。
4. 验证输出结果
运行流程后检查输出JSON,确认Program和Course数组已正确合并到同一对象下,结构符合预期。
内容的提问来源于stack exchange,提问作者Mayukh Chakravartti
相关产品推荐
相关产品推荐

