访问流变量中的 Json 元素 - Mule 3.7

Access Json element in Flow Variable - Mule 3.7

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

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

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

谢谢, 资产回报率

试试下面的表达式,

#[json:/Input1/Value1]

正确答案是

#[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>

这是结果

"Can we access a json element inside flow variables in Mule?":是的,我们可以访问流变量中的 json 元素。

"How can I access the element 'Value1' using MEL in mule?" 假设您已将此 json 存储在流变量 (xyz) 中,那么您可以使用以下语法访问它: flowVars.xyz.Input1.Value1

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

[dw('payload.Request.name')]

[json:Request/name]