如何使用DataWeave 2.0将JSON对象合并至嵌套JSON的指定节点
解决方案
你需要的DataWeave 2.0 代码如下,默认Input1为当前请求payload,Input2存储在变量vars.input2中,可根据你实际的变量命名调整:
%dw 2.0 output application/json --- payload map (item) -> { (item - "Org_Response"), Org_Response: { (item.Org_Response - "Response_Data"), Response_Data: item.Org_Response.Response_Data ++ vars.input2 } }
实现逻辑
- 遍历Input1外层数组的所有元素,保留除
Org_Response外的所有原有字段 - 重构
Org_Response节点,保留除Response_Data外的所有原有字段 - 使用DataWeave的
++合并运算符,将Input2的全部内容直接合并到Response_Data节点下,不会修改其他层级的结构
输入输出参考
Input 1
[{"Org_Response": {"Request_Criteria": {"Org_Type_Reference": {"ID": {"type": "Org_Type","text": "Business_Unit"}},"Include_Inactive": "0"},"Response_Data": {"Org": {"Reference": {"ID": {"type": "Business_Unit_Reference_ID","text": "999-99-FD"}},"Org_Data": {"Reference_ID": "999-99-FD","Name": "Management"}}}}]
Input 2
{"Org": {"Reference": {"ID": {"type": "Business_Unit_Reference_ID","text": "90000"}},"Org_Data": {"Reference_ID": "90000","Name": "TAXES"}}}
输出结果
[{"Org_Response": {"Request_Criteria": {"Org_Type_Reference": {"ID": {"type": "Org_Type","text": "Business_Unit"}},"Include_Inactive": "0"},"Response_Data": {"Org": {"Reference": {"ID": {"type": "Business_Unit_Reference_ID","text": "999-99-FD"}},"Org_Data": {"Reference_ID": "999-99-FD","Name": "Management"},"Org": {"Reference": {"ID": {"type": "Business_Unit_Reference_ID","text": "90000"}},"Org_Data": {"Reference_ID": "90000","Name": "TAXES"}}}}]
内容的提问来源于stack exchange,提问作者user12277274
相关产品推荐
相关产品推荐

