Я работаю с MuleSoft Anypoint Studio
, и мне нужно преобразовать полезную нагрузку JSON в конечный XML.Во время этого преобразования все поля, которые имеют значение NULL, должны быть исключены.Некоторые значения не отправляются с помощью запроса POST, и я ожидаю, что они не будут видны в конечном результате - файле XML, но это не так, поскольку они есть.Например, в запросе JSON POST поле Value
не отправляется, в Mule оно становится нулевым, поэтому оно не должно появляться в файле XML, но все равно записывается в нем как <Value/>
.В основном у меня проблемы с Object to JSON
трансформатором.
Я пытался настроить собственный маппер
<spring:beans>
<spring:bean id="Bean" name="NonNullMapper" class="org.codehaus.jackson.map.ObjectMapper">
<spring:property name="SerializationInclusion">
<spring:value type="org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion">NON_NULL</spring:value>
</spring:property>
</spring:bean>
Но это не помогло.Я также пытался
<spring:beans>
<spring:bean id="jacksonObjectMapper" class="org.codehaus.jackson.map.ObjectMapper" />
<spring:bean
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<spring:property name="targetObject" ref="jacksonObjectMapper" />
<spring:property name="targetMethod" value="configure" />
<spring:property name="arguments">
<spring:list>
<spring:value>WRITE_NULL_MAP_VALUES</spring:value>
<spring:value>false</spring:value>
</spring:list>
</spring:property>
</spring:bean>
</spring:beans>
Это не сработало, так как я получаю сообщение об ошибке, которое мне не удалось исправить
More than one object of type class org.codehaus.jackson.map.ObjectMapper registered but only one expected
Я работаю с
- Mule 3.9.0
- Anypoint Studio 6.4
- com.fasterxml.jackson и в некоторых местах org.codehaus.jackson
Я был бы очень признателен любомупомощь или намек.