0

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

先说一下情况:

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

例如,我可能有

<FirstName>Bob<FirstName> 

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

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

4

1 回答 1

1

有一些从 XML 转换为 JSON 的标准方法(Parker 约定Badgerfish或使用JsonML等),但是当您在 XML 和 JSON 之间有 1:1 的对应关系并且您不介意暴露一些看起来很奇怪的 JSON 时,它们会很好地工作客户(尊重所选标准)。

根据您提供的详细信息,我假设您已经有一个自然的 JSON 表示,并且您没有 1:1 的对应关系,因为FirstNameXML 元素映射到FirstJSON。

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

您的客户端发送一个 JSON 请求,您将其解组为请求对象,将对象编组为 XML,将其发送到 SOAP 存储,您将结果作为 XML 解组为响应对象,您现在将其编组为您的 JSON 响应最后发回给客户。通过使用中间的对象,您可以将JAXB用于 XML 表示,以及杰克逊对 JSON 的 JAXB 注释的支持。

无论是手动还是使用现有库,您都必须从 XML 映射到 JSON。

于 2013-02-24T16:15:30.717 回答