【问题标题】:Using json and xml in REST services在 REST 服务中使用 json 和 xml
【发布时间】:2012-10-29 13:40:34
【问题描述】:

什么时候应该在 REST 服务中使用 xml,什么时候使用 JSON?

使用 json 代替 XML 的优缺点是什么?

【问题讨论】:

  • Web 服务以 JavaScript 对象表示法和 XML 形式返回结果,因为这些语言可用于在各种设备上进行遍历和运输。这些语言是独立于平台的。

标签: xml json web-services rest


【解决方案1】:

这就像问:

“说法语和说西班牙语的优缺点是什么”。

这取决于你所说的上下文和听众。

您的服务消费者有什么需求?您是否将结果提供给其他服务器或浏览器的 ajax 请求?您是否有一个简单的对象、数组或一个非常复杂的对象,其中可能还有其他对象?通过提供此类详细信息,您可以列出优缺点。如果你只能做一个,这个问题将推动选择。

我通常允许客户端指定他们想要的格式并返回 json 或 xml。它只是同一资源的 2 个不同的“视图”或表示。

【讨论】:

  • 我向其他服务器提供结果,有一个相当简单的对象。
  • @AlexanderBezrodniy 我允许两种格式(也许放一个 get 参数 ?type=json 或 ?type=xml。创建一个简单的转换库来根据参数处理您的输出。如果只有一个选择,在这种情况下,json 通常更容易使用和排除故障。
【解决方案2】:

我真的不知道优缺点是什么,这两种 MIME 类型都需要对您的数据进行序列化和反序列化。 我可以说的是,向客户端应用程序提供请求特定内容类型的机会是一个好习惯,这样您的服务就可以被用不同语言编写的各种客户端使用。

【讨论】:

    【解决方案3】:

    关于您应该如何响应客户端(xml 或 json),我同意 Ray 的观点。确实是一个好主意,同时实现两者并让客户选择决定响应的格式。我使用的大多数 Web 服务都支持这一点并且相当容易做到,因为您只需要为同一个对象实现两种不同的反序列化/序列化方法。

    我会说最近越来越多的 WS 以 json 格式提供数据,在我看来,它在序列化/反序列化时更灵活、更快。此外,我发现 JSON 更易于人类阅读,尤其是在复杂对象中。

    【讨论】:

      猜你喜欢
      • 2014-12-25
      • 2011-06-09
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多