У меня есть объект JSON для трансформатора объекта, который следует за datamapper в рабочем процессе Mule 3.6 и обнаружил, что JSON для трансформатора объекта удаляет конечный ноль в десятичных полях, поэтому 11.00 становится 11.0.Проблема округления Mule с трансформатором объекта JSON
Как я могу предотвратить превращение JSON в объект-трансформатор из последнего десятичного знака, если он равен нулю, и обеспечить соблюдение 2 десятичных знаков, чтобы он возвращал 11.00, поскольку это требование?
Пример потока показывает проблему:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.6.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-data-mapper.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
<data-mapper:config name="CSV_To_JSON" transformationGraphPath="csv_to_json.grf" doc:name="CSV_To_JSON"/>
<flow name="deimal-point-flowFlow">
<file:inbound-endpoint path="${file.unprocessed.location}" moveToPattern="#[message.inboundProperties['originalFilename']]" moveToDirectory="${file.unprocessed.location}" responseTimeout="10000" doc:name="File">
<file:filename-regex-filter pattern="test.csv" caseSensitive="true"/>
</file:inbound-endpoint>
<data-mapper:transform config-ref="CSV_To_JSON" doc:name="CSV To JSON"/>
<json:json-to-object-transformer returnClass="java.util.Map" doc:name="JSON to Object"/>
<json:object-to-json-transformer returnClass="java.lang.String" mimeType="application/json" doc:name="Object to JSON"/>
<logger level="INFO" doc:name="Logger"/>
</flow>
</mule>
Файл test.csv выглядит следующим образом:
DeptID,Dept,Staff
5LL/A,Human Resources,4.00
Я обнаружил, что я могу использовать объект-манипулятор jackson для сохранения двух десятичных знаков, но он меняет значения на строки. Есть ли способ использовать объект-манипулятор jackson, но сохранить значения полей в виде десятичных знаков? – user3165854