Mule表达式语言json substring

时间:2016-07-19 20:42:46

标签: mule

我有一个json有效负载,我正在尝试记录json值的子字符串:

示例json:

[^\w\s]

在我的xml中:

[0-9]

这会记录红色,但我想要的只是“重新” 以下不起作用,但我想要这样的事情:

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

1 个答案:

答案 0 :(得分:0)

你可能会这样做

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

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

或数据编织

         color: payload.color[0..2]

或使用变换器转换为对象然后你可以做任何需要的事情

<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"/>