REST API的CSV,JSON和XML的相对优点是什么?

Mik*_*aid 24 xml csv api rest json

我们目前正在计划一个新API的应用程序,并讨论我们应该用于交换的各种数据格式.有一个相当激烈的讨论正在进行有关的相对优点CSV,JSONXML.

基本上,争论的关键在于我们是否应该支持CSV,因为缺乏递归(即有一份文件已经multiple authors并且multiple references需要multiple API calls获得所有的information递归).

在您处理信息时可能遇到的经验Web APIs以及我们可以做的事情,以使开发人员的工作更轻松API.


我们的决定:

我们决定提供XML并且JSON由于递归CSV需要多次调用单个逻辑操作.JSON没有一个解析器QtProtocol Buffers似乎并不具有non-alpha PHP实施,使他们走出暂时太多,但可能会被最终支持.

All*_*nde 23

好处:

  • XML - 很多库,Devs熟悉它,XSLT,可以很容易地由客户端和服务器(XSD,DTD),分层数据验证
  • JSON - 在客户端轻松解释,紧凑表示法,分层数据
  • CSV - 在Excel中打开(?)

缺点:

  • XML - 比JSON更容易在JavaScript中解释
  • JSON - 如果使用不当会造成安全漏洞(不要使用eval),并非所有语言都有库来解释它.
  • CSV - 不支持分层数据,你是唯一一个这样做的人,它实际上比大多数开发人员想要解析有效的csv文件要困难得多(CSV值可以包含新行,只要它们在引号之间等).

鉴于上述情况,我甚至不打扰支持CSV.如果真的需要,客户端可以从XML或JSON生成它.

  • JSON解析器可用于各种语言.请参见http://www.json.org/的底部. (2认同)

小智 18

CSV就出来了.JSON是比XML更紧凑的对象表示法,因此如果您正在寻找高容量,它具有优势.XML具有更广泛的市场渗透率(我喜欢这个短语)并且得到所有编程语言及其核心框架的支持.JSON即将到达(如果还没有).

就个人而言,我喜欢括号.我敢打赌,使用xml数据比使用json更适合开发人员.