0

我目前在我的 Mule 项目中有一个工作Transform MessageDataWeave )组件;它返回有效的 JSON。

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

我知道您可以在 dw 脚本中指定许多输入(参见DW 示例教程)。

%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 输出?


细节:

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

4

1 回答 1

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
}
于 2015-11-26T15:10:43.443 回答