2016-07-19 13 views
0

Ich habe eine json Nutzlast und ich versuche, eine Teil des JSON-Wert zu protokollieren:Mule Ausdruckssprache json Teilzeichenfolge

Beispiel json:

{ "color":"red", "value":"#f00" }

In meinem xml:

Dies wird rot protokollieren, aber was ich will, ist nur "re" Folgendes funktionierte nicht, aber ich wollte etwas wie das:

<logger message="print substring of value: #[json:color].substring(0,1) level="INFO" doc:name="Logger"/>

Antwort

0

Sie können sich wahrscheinlich wie tun diese

<set-variable variableName="extractColor" value="#[json:color]" doc:name="Variable"/> 

    <set-payload value="#[(flowVars.extractColor).substring(0,2) ]" doc:name="Set Payload"/> 

oder in Daten

  color: payload.color[0..2] 

oder Transformator-Gewebe verwenden, um Objekt zu umwandeln und dann können Sie tun, was

benötigt wird
<json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/> 

<set-variable variableName="extractColor" value="#[message.payload.color.substring(0,2)]" doc:name="Variable"/> 
+0

T hanks. Ich mag die dritte Option. – techRunner