YAML文件

作者: 廖马儿 | 来源:发表于2017-07-12 12:19 被阅读28次

简介

YAML:YAML Ain't Markup Language 另一种标记语言。(YAML不是一种置标语言)
但为了强调这种语言以数据做为中心,而不是以置标语言(也就是说标记语言,像XML, HTML等)为重点,而用返璞词重新命名。
它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。


格式

数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号-来表示,map结构里面的key/value对用冒号:来分隔。样例如下:

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

字串不一定要用双引号标识;
在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
允许在文件中加入选择性的空行,以增加可读性;
在一个档案中,可同时包含多个文件,并用“——”分隔;
选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。

单行缩写:

YAML也有用来描述好几行相同结构的数据的缩写语法,数组用'[]'包括起来,hash用'{}'来包括。因此,上面的这个YAML能够缩写成这样:

house:
  family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] }
  address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }

适用场景:

1)脚本语言
由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。列一下现有的语言实现:Ruby,Java,Perl,Python,PHP,OCaml,JavaScript,除了Java,其他都是脚本语言。
2)序列化
YAML比较适合做序列化。因为它是宿主语言数据类型直转的。
3)配置文件
YAML做配置文件也不错。写YAML要比写XML快得多(无需关注标签或引号),并且比ini文档功能更强。
比如Ruby on Rails的配置就选用的YAML。对ROR而言,这很自然,也很省事.
由于兼容性问题,不同语言间的数据流转建议不要用YAML.

相关文章

  • yaml 文件管理

    yaml文件管理,包括读取yaml文件内容,写入yaml文件,清空yaml文件。

  • 7.Python读取yaml文件封装

    yaml读取文件封装 yaml文件读取封装,需要传入文件参数来获取文件数据 yaml基础知识 yaml支持的数据类...

  • 通过snakeyaml解析yaml文件

    scala 读取yaml 配置文件 配置maven文件pom.xml 创建yaml 文件config.yaml ...

  • YAML

    1. 介绍 application.yml: 以yml为后缀的文件为YAML文件。 YAML(YAML Ain`t...

  • 第二十二章 Python3 操作特殊类型文件

    一、操作 YAML 文件 yaml 和 json 类似,YAML(http://www.yaml.org)同样有键...

  • R 包学习-yaml

    yaml 配置文件管理包 http://blog.fens.me/r-yaml 前言 YAML是专门用来写配置文件...

  • YAML语言

    YAML经常被用于编写配置文件。越来越多的工具使用YAML语言作为配置文件语言。YAML格式参考YAML语言语法规...

  • Mongodb YAML参数详解

    mongodb3.x版本后就是要yaml语法格式的配置文件,下面是yaml配置文件格式如下: 官方yaml配置文件...

  • python 完整代码用于加载yaml配置文件

    yaml文件介绍 yaml是一个专门用来写配置文件的语言。 1. yaml文件规则 区分大小写; 使用缩进表示层级...

  • python:yaml模块

    一、yaml文件介绍 yaml是一个专门用来写配置文件的语言。 1. yaml文件规则 区分大小写; 使用缩进表示...

网友评论

    本文标题:YAML文件

    本文链接:https://www.haomeiwen.com/subject/qopucxtx.html