【问题标题】:Spring Integration - convert XML payload to JSONSpring Integration - 将 XML 有效负载转换为 JSON
【发布时间】:2020-04-23 10:19:43
【问题描述】:

我正在创建一个通用适配器,它将接收 XML 消息(带有命名空间)并将其转换为 JSON。我可以使用 xslt 删除命名空间,然后使用 org.json api 转换为 JSON,还有一些其他转换并使用 SI 流程 -

        return IntegrationFlows
                .from(org.springframework.integration.jms.dsl.Jms.messageDrivenChannelAdapter(
                        org.springframework.integration.jms.dsl.Jms.container(this.queueConnFactory, this.queue)
                                .transactionManager(transactionManager()).get()))
                .transform(dynamicEnricherImpl.get(enricherName), "enrich")
                .handle(publisher, "publishMessage")
                .get();

我正在寻找是否可以使用像 ObjectToJSON 转换器这样的 SPring 集成内部类来删除 XML 命名空间并将其转换为 JSON。请推荐

【问题讨论】:

    标签: spring-integration spring-integration-dsl


    【解决方案1】:

    我不明白您如何真正进行从 XML 到 JSON 的转换。您介意与您的 XSLT 和 org.json 分享一些示例吗?当然,还有原始 XML 和最终 JSON。

    我在 Spring Integration 中要做的类似于 UnmarshallingTransformer,我们使用 Marshaller 抽象从 XML 创建一些域模型。

    然后当我们已经有一个 Java POJO 时,很容易调用提到的ObjectToJsonTransformer,你会在输出中得到一个 JSON。

    也可以应用XPathTransformer 从 XML 等中获取一些值。

    请阅读文档中有关 XML 支持的更多信息:https://docs.spring.io/spring-integration/docs/5.3.0.M4/reference/html/xml.html#xml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      相关资源
      最近更新 更多