【问题标题】:Convert XML to JSON using Mule Custom Transformer使用 Mule 自定义转换器将 XML 转换为 JSON
【发布时间】:2014-07-23 22:24:20
【问题描述】:

您好,我正在使用 Mule Studio,我想创建一个自定义转换器,它将使用 Google Gson 库将 XML 转换为 Json。所以在这种情况下,我必须添加一个 Java Transformer 组件,并且我必须为此编写自定义代码。但是我面临的问题是我正在覆盖接受输入参数作为对象的方法,这是我认为的唯一方式,或者是他们将接受输入参数作为 XMl 字符串的任何其他方式。请分享一个代码以使其可用。

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

【问题讨论】:

    标签: mule mule-studio mule-el mule-module-jpa


    【解决方案1】:

    看看现有的变压器:https://github.com/mulesoft/mule/blob/mule-3.x/modules/xml/src/main/java/org/mule/module/xml/transformer/XmlPrettyPrinter.java

    • 查看如何在构造函数中注册接受的源类型,例如:registerSourceType(DataTypeFactory.create(org.dom4j.Document.class));
    • 查看在doTransform 方法中如何转换通用Object src

    【讨论】:

    • 感谢我得到了解决方案以及如何使其可行的想法。
    【解决方案2】:

    您可以使用从 Mule 调色板到 Mule 流的 XML 到 JSON 转换器。

     <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>
    

    【讨论】:

      【解决方案3】:

      将 Dataweave 输出设置为 application/json 会自动完成。但是,当您将 JSON 转换为 XML 时,您可能必须确保 JSON 可以转换为 XML 格式,其中包含根元素和成员元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-18
        • 2019-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多