博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.yaml 文件格式简介
阅读量:5302 次
发布时间:2019-06-14

本文共 1585 字,大约阅读时间需要 5 分钟。

命名

YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写。

功能

YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。

它使用 空白符号缩排 和 大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。

尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。

由于YAML使用空白字符和分行来分隔资料,使的他特别适合用 grep、Python、Perl、Ruby 操作。

其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构中会变得复杂而难以辨认。

格式

多行缩进

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

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

注意:

  1. 字串不一定要用双引号标识;

  2. 在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过 不能使用TAB字符);

  3. 允许在文件中加入选择性的空行,以增加可读性;

  4. 在一个档案中,可同时包含多个文件,并用“——”分隔;

  5. 选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。

单行缩写

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

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

 

举例:

john.yaml 文件: 

name: John Smith age:  37 spouse:     name: Jane Smith     age:  25 children:     -   name: Jimmy Smith         age:  15     -   name: Jenny Smith         age   12

数组表示:

'John Smith', 'age' => 37, 'spouse' => array( 'name' => 'Jane Smith', 'age' => 25 ), 'children' => array( 0 => array( 'name' => 'Jimmy Smith', 'age' => 5 ), 1 => array( 'name' => 'Jenny Smith', 'age' => 3 ) ));

PHP 解析 Yaml 文件的类: 

syck:

转载于:https://www.cnblogs.com/52php/p/6480107.html

你可能感兴趣的文章
cv2读取图像
查看>>
于丹心语-人生没有弯路可言
查看>>
poj 3279
查看>>
安装SSH、配置SSH无密码登录 ssh localhost
查看>>
动态代理模式
查看>>
RakNet手册翻译(1)-System OverView
查看>>
网络流23题
查看>>
CF954I Yet Another String Matching Problem 并查集、FFT
查看>>
linux命令
查看>>
pygal and matplotlib(again)
查看>>
Linux从入门到精通——系统无法启动可能的情况及排错方法
查看>>
Redis 从数据库配置
查看>>
JavaScript 基础
查看>>
分布式实现技术总结
查看>>
BlackBerry Localization sample (1)
查看>>
Remainder
查看>>
Android:pressed状态下,改变背景和Text样式
查看>>
Spring层次图
查看>>
Unity3D学习笔记(三十一):Xlua(1)
查看>>
第一个C程序 (Blog测试)
查看>>