1

嗨,我正在使用 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; } }

4

3 回答 3

0

看看现有的转换器:https://github.com/mulesoft/mule/blob/mule-3.x/modules/xml/src/main/java/org/mule/module/xml/transformer/XmlPrettyPrinter。爪哇

  • 查看如何在构造函数中注册接受的源类型,例如:registerSourceType(DataTypeFactory.create(org.dom4j.Document.class));
  • doTransform看看泛型是如何在方法Object src中转换的。
于 2014-06-03T16:07:19.457 回答
0

您可以使用从 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>
于 2018-01-31T19:40:12.557 回答
0

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

于 2018-02-24T07:49:36.390 回答