转换我从soap响应中收到的字段,以匹配JSON对象中的字段

时间:2013-02-21 21:50:52

标签: xml json soap

我有一个问题,关于如何从soap调用中获取响应,并将其传递给JSON对象。

让我先说明一下情况:

首先,我将基于xml的请求发送到基于SOAP的Web服务。我收到了xml格式的响应,我希望能够将此响应传递给JSON对象,并在路上转换我从soap响应中收到的字段,以匹配JSON对象中的字段。

例如,我可能有

<FirstName>Bob<FirstName> 

作为我的soap响应中的一个字段,但我需要将其转换为适合我的JSON对象中名为“First”的变量。

对此问题的任何帮助都将非常感激,我是所有这些技术的新手,并且已经大部分时间都使用基本教程,并将它们扩展到我目前所需的内容,但此时已经陷入困境。如果需要进一步澄清,我可以这样做!

1 个答案:

答案 0 :(得分:1)

有一些标准方法可以从XML转换为JSON(Parker conventionBadgerfish或使用JsonML等),但是当XML与XML之间的对应关系为1:1时,它们运行良好JSON,你不介意让一些奇怪的JSON暴露给客户端(尊重所选的标准)。

根据您提供的详细信息,我假设您已经拥有自然的JSON表示,并且您没有1:1的对应关系,因为FirstName XML元素在JSON中映射到First

您的应用程序位于JSON客户端和SOAP外部存储之间,因此在这种情况下,最可控的方式是使用应用程序中的对象,并为对象提供两种表示形式:JSON和XML。

您的客户端发送一个JSON请求,您将其解组到请求对象,将对象编组为XML,将其发送到SOAP存储,您将结果作为XML解组为您现在编组为JSON的响应对象的XML你最终发回给客户的回复。通过使用介于两者之间的对象,您可以使用JAXB表示XML表示,使用Jackson's support for JAXB annotation表示JSON。

无论哪种方式,手动或使用现有库,您都必须从XML映射到JSON。