373.3. Java DSL 的基本用法
373.3.1. 显式实例化数据格式 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
只需从软件包 org.apache.camel.dataformat.xmljson 实例化 XmlJsonDataFormat。确保您已安装了 camel-xmljson 功能(如果在 OSGi 上运行),或者您已包含 camel-xmljson-7.13.jar 及其在 classpath 中的传输依赖项。使用默认配置初始化示例:
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
要根据以上选项调整数据格式的行为,请使用适当的集合:
数据格式实例化后,下一步是从 marshal () 和 unmarshal () DSL 元素中实际使用它:
// from XML to JSON
from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
// from JSON to XML
from("direct:unmarshal").unmarshal(xmlJsonFormat).to("mock:xml");
// from XML to JSON
from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
// from JSON to XML
from("direct:unmarshal").unmarshal(xmlJsonFormat).to("mock:xml");
373.3.2. 在命令行中定义数据格式 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
或者,您可以使用 xmljson () DSL 元素定义内联数据格式:
// from XML to JSON - inline dataformat
from("direct:marshalInline").marshal().xmljson().to("mock:jsonInline");
// from JSON to XML - inline dataformat
from("direct:unmarshalInline").unmarshal().xmljson().to("mock:xmlInline");
// from XML to JSON - inline dataformat
from("direct:marshalInline").marshal().xmljson().to("mock:jsonInline");
// from JSON to XML - inline dataformat
from("direct:unmarshalInline").unmarshal().xmljson().to("mock:xmlInline");
如果需要,您也可以将 Map<String, String> 传递给内联方法,以提供自定义选项: