我们什么时候应该在 REST 服务中使用 xml,什么时候使用 JSON?
使用 json 而不是 XML 的优缺点是什么?
这就像问:
“说法语和说西班牙语的优缺点是什么”。
这取决于你所说的上下文和听众。
您的服务消费者的需求是什么?您是否将结果提供给其他服务器或浏览器的 ajax 请求?你有一个简单的对象、数组,还是一个非常复杂的对象,其中可能还有其他对象?通过提供此类详细信息,您可以列出优缺点。如果你只能做一个,这个问题将推动选择。
我通常允许客户端指定他们想要的格式并返回 json 或 xml。它只是同一资源的 2 个不同的“视图”或表示。
我真的不知道利弊是什么,这两种 MIME 类型都需要对您的数据进行序列化和反序列化。我可以说的是,向客户端应用程序提供请求特定内容类型的机会是一个好习惯,这样您的服务就可以被用不同语言编写的各种客户端使用。
关于您应该如何响应客户端(xml 或 json),我同意 Ray 的观点。确实是一个好主意,同时实现两者并让客户选择决定响应的格式。我使用的大多数 Web 服务都支持这一点并且相当容易做到,因为您只需要为同一个对象实现两种不同的反序列化/序列化方法。
我想说的是,最近越来越多的 WS 以 json 格式提供数据,在我看来,在序列化/反序列化时它更灵活、更快。此外,我发现 JSON 更易于人类阅读,尤其是在复杂对象中。