2016-02-23 2 views
1

Я получаю поле AnnualRevenue на входе, я должен искать условие, что если в этом поле есть десятичное число, я хочу подставить его на целое число, но если оно не десятичный, он передается без какого-либо преобразования. Могу ли я сказать, как это можно было бы достичь в dataweave в mulesoft.Как подстроить в dataweave

ответ

0

Для другой альтернативы, Вы можете использовать регулярное выражение:

%dw 1.0 
%output application/java 
--- 
{ 
    result: "123.45" replace /(\.[0-9]*)/ with "" 
} 
+0

спасибо, что работал. :-) – Hemant

0

Помимо подстановки вы можете использовать целочисленное преобразование MEL/java, создав глобальную функцию MEL, а затем используйте ее в выражении для передачи данных.

<configuration doc:name="Configuration"> 
    <expression-language> 
     <global-functions> 
      def removeDecimal(value) { 
      return (long) value 
      } 
     </global-functions> 
    </expression-language> 
</configuration> 

затем в вашем dataweave выражения:

%dw 1.0 
%output application/json 
--- 
{ 
    "result": removeDecimal(-21.83) 
} 

Надеется, что это помогает.

Приветствия

-1
input: 

<employees> 
    <employee> 
    <name>salumiah-syed</name> 
    </employee> 
</employees> 

%dw 1.0 
%output application/xml 
--- 
result: (payload.employees.employee.name splitBy "-") [0]