Конвертировать XML в JSON, используя пользовательский трансформатор MULE

StackOverflow https://stackoverflow.com//questions/24017618

Вопрос

Привет, я работаю с Mule Studio, и я хочу создать пользовательский трансформатор, который преобразует XML в JSON, используя библиотеку Google GSON.Так что в этом случае я должен добавить компонент Java Transformer, и я должен написать пользовательский код для этого.Но проблема, с которой я сталкиваюсь со мной, я переоцениваю метод, который принимает входной параметр в качестве объекта, который, как я думаю, или является любым другим способом, который примет свой входной параметр как строку XML.Пожалуйста, поделитесь кодом, чтобы сделать его работоспособным.

public class Transfomer extends AbstractTransformer { protected Object doTransform(Object src, String enc) throws TransformerException { // TODO Auto-generated method stub
return null; } }

Это было полезно?

Решение

Посмотрите на существующий трансформатор: https://github.com/mulesoft/mule/blob/mule-3.x/modules/xml/src/main/java/org/mule/Модуль / XML / Transformer / xmlprettyprinter.java

    .
  • Посмотрите, как в конструкторе принимаются типы исходных источников, как с: registerSourceType(DataTypeFactory.create(org.dom4j.Document.class));
  • Посмотрите, как в методе doTransform общий генеракодицетагCode преобразуется.

Другие советы

Вы можете использовать либо XML для JSON Transformer из палитра мул к потокам мула.

 <json:xml-to-json-transformer doc:name="XML to JSON"/>
.

или

Используйте трансформацию Dataweave:

 <dw:transform-message doc:name="Transform Message">
             <dw:set-payload><![CDATA[%dw 1.0
 %output application/json
 ---
 payload]]></dw:set-payload>
         </dw:transform-message>
.

Настройка выхода данных Dataweave поскольку приложение / JSON делает автоматически.Однако, когда вы делаете JSON до XML, вам, возможно, придется убедиться, что JSON может быть преобразован в форму XML с элементом корневого элемента и элементами элементов внутри.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top