2017-02-02 10 views
1

Muleのフロー変数内のjson要素にアクセスできますか?フロー変数 - Mule 3.7のJson要素にアクセス

例:私のflowVar値が、私はラバにMELを使用して要素 'VALUE1' にアクセスするにはどうすればよい{ "Input1": { "Value1": "UNITED STATES" } }

のですか?

おかげで、 ROA

+0

があなたのflowVar上記の例の文字列表現ですか、それはHashMapのかストリームでありますまたは、他の何か? –

答えて

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

+1

DWでの出力はJavaなので、結果のタイプは(上の画像に示されています)java.util.LinkedHashMapです。だから、ドット表記法が機能するので、私は彼がflowVarがハッシュマップではなく文字列であることを尋ねていると思います。 –

+0

こんにちは@Alex、私はそれを得た。これは機能します。 – ROA

1

は表現の下にしようと、

#[json:/Input1/Value1] 
0

は結果であり、「私たちはミュールでフロー変数内のJSON要素にアクセスすることはできますか?」:はい、我々はフロー変数内JSON要素にアクセスすることができます。

"MuleでMuleを使用して 'Value1'要素にアクセスする方法はありますか? みましょうあなたは、フロー変数(XYZ)でこのJSONを保存している場合は、あなたが怒鳴る構文を使用してアクセスすることができます言う: flowVars.xyz.Input1.Value1

0

あなたはこれを達成するためにDW機能やJSONのパス式を使用することができます。 例:

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

[JSON:要求/名前]

関連する問題