简介
“ YAML不是标记语言 ”(缩写为YAML)是一种资料序列化语言,旨在提供人性化,并且可以与现代程式语言一起使用,以完成日常工作。该规范既是对YAML语言的介绍,也是对其支援的概念,也是开发所需资讯的完整规范处理YAML的申请。与JSON的关系
JSON和YAML都旨在成为人类可读的资料交换格式。但是,JSON和YAML有不同的优先级。JSON最重要的设计目标是简单性和通用性。因此,以降低人类可读性为代价,生成和解析JSON是微不足道的。它还使用最小公分母资讯模型,确保每个现代程式设计环境都可以轻松处理任何JSON资料。相比之下,YAML最重要的设计目标是人类的可读性和支援 序列化 任意原生资料结构。因此,YAML允许极其可读的档案,但生成和解析更复杂。此外,YAML超越了最低公分母资料型别,在不同程式设计环境之间交叉时需要更复杂的处理。
因此,YAML可以被视为JSON的自然超集,提供改进的人类可读性和更完整的资讯模型。在实践中也是如此; 每个JSON档案也是有效的YAML档案。如果/当需要其他功能时,这使得从JSON迁移到YAML变得容易。
JSON的RFC4627 要求对映 钥匙只是“ 应该 ”独特的,而YAML坚称他们“ 必须 ”。从技术上讲,YAML因此符合JSON规范,选择将重复项视为错误。实际上,由于JSON对此类重复项的语义保持沉默,因此唯一可移植的JSON档案是具有唯一键的档案,因此它们是有效的YAML档案。
与XML的关系
YAML的新手经常搜寻其与可扩充套件标记语言(XML)的相关性。虽然这两种语言实际上可能在几个应用程序域中竞争,但它们之间没有直接关联。YAML主要是一种资料序列化语言。XML旨在向后相容标准通用标记语言(SGML),后者旨在支援结构化文件。因此,XML有许多设计约束,YAML不会共享它。XML是许多领域的先驱,YAML是从XML和其他技术中汲取的经验教训的结果。