2013-03-29 63 views

回答

14

定义“更好”。如果你希望你的数据存储和提取任何将工作。 Yaml,json和XML是人类可读/可编辑的; protobuf更简洁,更简单(更少的CPU周期)来解析。 Json非常适合JavaScript客户端。

挑你的毒药。或者挑选多个:您可以使用多个。

10

没有绝对更好的格式,它们在某些情况下可能都有优势。 您正在使用哪种语言,不同的语言对各种格式可能有不同的支持级别。

  • 如果编码/解码速度或空间是关键的协议缓冲区将是一个不错的选择。但协议缓冲区是一种二进制格式,需要一个专门的编辑器或从文本格式转换为/从文本格式转换来读取它。其他格式可以用标准的文本编辑器读取

  • JSON是优秀的,如果你需要从JavaScript的读/写

  • XML是应用最广泛的支持(并包含在许多语言的支持)。 XML也有很多支持工具,但XML也是最详细的。

  • YAML比XML更可读,更紧凑。它也不太常见,支持较少,你通常必须包括一个库来使用它。

也看到

+1

'JSON非常棒,如果您需要从JavaScript读取/写入'为什么只有JavaScript?基本上每种编程语言都支持JSON。 – CoDEmanX

+0

1答案来自几年前; 2大型机Cobol具有内置的Xml支持,但没有真正的JSON支持; 3,Java(版本<= 8)具有内置的Xml支持,JSon(和Yaml)支持由独立的库 –

10

我恕我直言:

    YAML为b埃特make的配置
    JSON是applictions之间传输数据好
    XML是一种流行格式化妆结构化数据较好,这应该是不简单可读
    谷歌协议缓冲器是XML的替代者,但更紧凑,不可读

顺便说一句,你可以在这里做一些数据的实验 Yaml,Jsom,Xml converter online