Я работаю с 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>
But that didn't really work. I also tried
<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
Я работаю с
- Мул 3.9.0
- Anypoint Studio 6.4
- com.fasterxml.jackson и кое-где org.codehaus.jackson
Я был бы очень признателен за любую помощь или подсказку.