访问Flow Variable中的Json元素 - Mule 3.7

时间:2017-02-02 15:40:49

标签: mule mule-el dataweave

我们可以在Mule中访问流变量中的json元素吗?

例如:我的flowVar值为{ "Input1": { "Value1": "UNITED STATES" } }

如何在mule中使用MEL访问元素'Value1'?

谢谢, ROA

4 个答案:

答案 0 :(得分:1)

尝试以下表达式,

#[json:/Input1/Value1]

答案 1 :(得分:1)

您可以使用dw函数或json路径表达式来实现此目的。 示例:

[DW(' payload.Request.name&#39)]

[JSON:请求/名称]

答案 2 :(得分:0)

正确答案是

#[flowVars.theVariable.Input1.Value1]

但是到这里你需要做很多事情。您必须适当地创建变量以匹配您的描述。此外,还错过了变量的名称,但无论如何都需要它。这是代码

    <flow name="AccessFlowVariable">
        <poll doc:name="Poll">
            <fixed-frequency-scheduler frequency="10000000"/>
            <logger message="Flow started" level="INFO" doc:name="Logger"/>
        </poll>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-variable variableName="theVariable"><![CDATA[%dw 1.0
%output application/java
---
{ "Input1": { "Value1": "UNITED STATES" } }]]></dw:set-variable>
        </dw:transform-message>
        <logger message="#[flowVars.theVariable.Input1.Value1]" level="INFO" doc:name="Logger"/>
        <logger level="INFO" doc:name="Logger"/>
    </flow>

这是结果 enter image description here

答案 3 :(得分:0)

“我们可以在Mule中访问流变量中的json元素吗?”:是的,我们可以访问流变量中的json元素。

“如何在mule中使用MEL访问元素'Value1'?” 假设您已将此json存储在流变量(xyz)中,则可以使用以下语法访问它: flowVars.xyz.Input1.Value1