加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

JSON、XML、TOML、CSON、YAML 大比拼

发布时间:2019-06-04 17:24:38 所属栏目:建站 来源:Linux技术
导读:副标题#e# 我们坚持使用 web 系统可以理解或不需要太多努力就能理解的特殊格式,而且对人类可读性特别有用的格式。每个都有各自的优缺点和适当的用例场景。 -- Tim Anderson 一段超级严肃的关于样本序列化的集合、子集和超集的文字 我是一名开发者,我读代

CSON 还提供一些 JSON 不提供的额外细节。多行字符串非常容易编写,你可以通过使用 # 符号开始一行来输入 注释 ,并且不需要用逗号分隔键值对。

  1. books: [ 
  2. id: 'bk102' 
  3. author: 'Crockford, Douglas' 
  4. title: 'JavaScript: The Good Parts' 
  5. genre: 'Computer' 
  6. price: 29.99 
  7. publish_date: '2008-05-01' 
  8. description: 'Unearthing the Excellence in JavaScript' 

这是 CSON 的大问题。它是 CoffeScript 对象表示法(CoffeeScript Object Notation)。也就是说你要用 CoffeeScript 解析/标记化/lex/转译或其它方式来使用 CSON。CoffeeScript 是读取数据的系统。如果数据序列化的目的是允许数据从一个系统传递到另一个系统,这里我们有一个只能由单个系统读取的数据序列化格式,这使得它与防火火柴、防水海绵或者叉匙恼人的脆弱叉子部分一样有用。

如果这种格式被其它系统也采用,那它在开发者世界中可能非常有用。但到目前为止这基本上没有发生,所以在 PHP 或 JAVA 等替代语言中使用它是不行的。

YAML:年轻人的呼喊

开发人员感到高兴,因为 YAML 来自 一个 Python 的贡献者 。YAML 具有与 CSON 相同的功能集和类似的语法,有一系列新功能,以及几乎所有 web 编程语言都可用的解析器。它还有一些额外的功能,如循环引用、软包装、多行键、类型转换标签、二进制数据、对象合并和 集合映射 。它具有非常好的可读性和可写性,并且是 JSON 的超集,因此你可以在 YAML 中使用完全合格的 JSON 语法并且一切正常工作。你几乎不需要引号,它可以解释大多数基本数据类型(字符串、整数、浮点数、布尔值等)。

  1. books: 
  2. - id: bk102 
  3. author: Crockford, Douglas 
  4. title: 'JavaScript: The Good Parts' 
  5. genre: Computer 
  6. price: 29.99 
  7. publish_date: !!str 2008-05-01 
  8. description: Unearthing the Excellence in JavaScript 

业界的年轻人正在迅速采用 YAML 作为他们首选的数据序列化和系统配置格式。他们这样做很机智。YAML 具有像 CSON 一样简洁的所有好处,以及与 JSON 一样的数据类型解释的所有功能。YAML 像加拿大人容易相处一样容易阅读。

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!