如何为DataWeave输入使用多个数据库有效负载

时间:2015-11-25 03:57:31

标签: json mule dataweave

我目前在我的Mule项目中有一个有效的Transform Message DataWeave )组件;返回有效的JSON。

我现在需要的是使用来自第二个(有时更多)数据库有效负载的附加信息来更新和添加到该转换。

我知道您可以在dw脚本中指定许多输入(请参阅DW example tutorial)。

%dw 1.0
%input in0 application/json
%input in1 application/json
%input in2 application/json
%output application/xml

[其中in0,in1和in2是实际输入名称]

我不确定如何将此方法应用于从数据库派生的多个有效负载。

我的目标是让我的基础JSON由第一个有效载荷构建:

{
    "code": "some code",
    "title": "some title",
    "description": "some description",
    "keywords": []
}

工作正常。

但现在我希望关键字数组由下一个有效负载填充,以便:

{
    "code": "some code",
    "title": "some title",
    "description": "some description",
    "keywords": [
        "keyword 1", "keyword 2", "keyword x"
    ]
}

如何从多个输入中映射DataWeave中的JSON输出?

<小时/>

详细信息:

  • Mule EE版本:3.7.2
  • Anypoint Studio版本:5.3.0

1 个答案:

答案 0 :(得分:1)

您必须为flowVars分配不同的有效负载,因此,您可以从dw脚本访问这些变量:

<set-variable variableName="myVar" value="{&quot;key1&quot;:&quot;value1&quot;}" doc:name="Variable"/>
<set-variable variableName="myVar2" value="{&quot;key2&quot;:&quot;value2&quot;}" doc:name="Variable"/>

%dw 1.0
%output application/json
---
{
    "a":flowVars.myVar,
    "b":flowVars.myVar2
}