2012-10-29 58 views
3

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

使用json而不是XML的优缺点是什么?

+0

Web服务将结果作为JavaScript对象表示法和XML返回,因为这些语言可用于穿越各种设备并用于传输各种设备。这些语言是独立于平台的。 –

回答

5

这就像问:

“什么是职业玩家来说法国VS讲西班牙语的利弊”。

这取决于您所说的内容和受众。

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

我通常允许客户端指定他们想要的格式并返回json或xml。它只是两种不同的'观点'或同一资源的表述。

+0

我向其他服务器提供结果,有一个相当简单的对象。 –

+0

@AlexanderBezrodniy我会允许这两种格式(也许把一个get参数?type = json或?type = xml。创建一个简单的转换库来处理您的输出基于参数。如果只有一个选择,在这种情况下,json是通常更容易消耗和排除故障。 – Ray

3

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

2

我会同意雷,关于你应该如何回应客户(xml或json)。的确是一个好主意,可以同时实施并给予客户决定响应格式的选择。我使用的大多数Web服务都支持这一功能,而且相当容易,因为您只需为同一对象实现两种不同的反序列化/序列化方法。

我想说最近越来越多的WS以json格式提供数据,而且在序列化/反序列化时,我觉得它灵活而快速。另外,我发现JSON更具人类可读性,特别是在复杂对象中。