我想对MEL进行一些字符串操作我在MEL
中有以下表达式<logger message="#[json:xy/PID/xy.3/AC]" level="INFO" doc:name="Logger"/>
输出
199010.26亿
我想提取前4位数字然后提取6,7位数字。
我该怎么做?
由于
答案 0 :(得分:1)
如何分两步尝试?
<set-variable variableName="result" value="#[json:ADT_A01/PID/PID.3/CX.1]" />
<set-variable variableName="result" value="#[result.substring(0,4)]#[result.substring(5,7)]" />
答案 1 :(得分:1)
正如@Ryan Hoegg回答中的评论所述,自Mule 3.3以来,JSON表达式求值程序已被弃用,因此最好的方法是使用json来对象转换器
<json:json-to-object-transformer doc:name="JSON to Object" returnClass="java.util.HashMap"/>
然后使用传统的MEL遍历Map
答案 2 :(得分:0)
JsonPath表达式现在已经过折旧,你甚至得不到足够的文件来做它。
所以,目前你需要使用: - <json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object" />
或<json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object" />
甚至<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object" />
从JSON中提取数据,具体取决于JSON数据