Spring Integration - 将XML有效载荷转换为JSON。

问题描述 投票:0回答:1

我正在创建一个通用的适配器,它将接受XML消息(带有namepace)并将其转换为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();

我正在寻找是否可以使用SPring Integration的内部类如ObjectToJSON transformer来删除XML命名空间并将其转换为JSON。请提供建议

spring-integration spring-integration-dsl
1个回答
0
投票

我不明白你到底是如何从XML转换到JSON的。你介意分享一些样品,你的XSLT和 org.json? 当然,还有一个原始的XML和最后的JSON。

在Spring Integration中,我会做的事情是这样的 UnmarshallingTransformer 其中,我们从XML中创建一些域模型,使用 Marshaller 的抽象。

那么当我们已经有了一个Java POJO,就可以很容易地调用所提到的 ObjectToJsonTransformer 就会得到一个JSON的输出。

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

请在docs中阅读更多关于XML支持的内容。https:/docs.spring.iospring-integrationdocs5.3.0.M4referencehtmlxml.html#xml。

© www.soinside.com 2019 - 2024. All rights reserved.