yaml 文件格式简介
from: http://www.cnblogs.com/phpgo/p/6480107.html
.yaml 文件格式简介
命名
YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写。
功能
YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。
它使用 空白符号缩排 和 大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。
由于YAML使用空白字符和分行来分隔资料,使的他特别适合用 grep、Python、Perl、Ruby 操作。
其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构中会变得复杂而难以辨认。
格式
多行缩进
数据结构可以用类似大纲的缩排方式呈现,结构通过 缩进 来表示,连续的项目通过减号“-”来表示,map 结构里面的 key/value 对用冒号“:”来分隔。样例如下:
house:family:name: Doeparents:- John- Janechildren:- Paul- Mark- Simoneaddress:number: 34street: Main Streetcity: Nowheretownzipcode: 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 }
举例:
john.yaml 文件:
name: John Smith
age: 37
spouse: name: Jane Smith age: 25
children: - name: Jimmy Smith age: 15 - name: Jenny Smith age 12
数组表示:
<?php
$john = array('name'=> '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:http://pecl.php.net/package/syck
yaml 文件格式简介相关推荐
- .yaml 文件格式简介
命名 YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写. 功能 YAML的语法和其他高阶语言类似,并且可以简单表达清单. ...
- yaml文件格式说明
yaml文件格式说明 yaml简介 基本语法 YAML支持的数据结构 引用 单文件多配置 文本块 显示指定类型 yaml简介 yaml文件的后缀为.yml或者.yaml. 是一个可读性高,用来表达数据 ...
- AVI文件格式简介与WAV文件分析
AVI文件格式简介与WAV文件分析 AVI文件格式(回答问题) 所有AVI文件至少包含2个必须的LIST Chunk和一个索引Chunk Chunk: LIST Chunk: 小端:数据的低位保存在内 ...
- yaml文件格式总结
yaml文件格式总结 概念 基本语法 数据类型 YAML 对象 YAML 数组 复合结构 纯量 引用 概念 YAML 是 "YAML Ain't a Markup Language" ...
- 各类配置文件格式简介(ini,yaml,conf,xml...)和nb的Viper
目录 配置文件 ini 介绍 语法 demo 库 json 语法 demo 库 xml 介绍 语法&demo yaml demo toml properties HOCON plist(pli ...
- 检查json 或 yaml 文件格式
有时候我们修改了配置 json 或者 yaml 文件,需要校验下文件格式是否正确 源码 package mainimport ("flag""fmt"" ...
- 【Yaml】了解yaml文件格式
目录 一.简介 二.基本语法 三.数据类型 四.数据结构 一.简介 YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用. YAML 的语法比较简洁直观,特点是使用空格来表达层次 ...
- M3U8 文件格式简介
HLS协议 HLS是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件. 工作原理:整个流分成一个个小的基于 HTTP 的ts格式文件 ...
- GERBER文件格式简介
GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并要同时附带D码文件才能完整描述一张图形;RS-274-X ...
最新文章
- php 后退按钮事件,php – 后退按钮的会话问题
- SQL Server插入binary类型的数据
- 不要以为写写代码就是计算机科学
- 模型总结:最优化模型
- C语言strcmp函数使用及模拟
- 稳压二极管和TVS管知识点总结
- wireshark:时区
- Unity中控制物体运动
- c语言已知斜率 求倾角,直线与方程(一)倾斜角与斜率
- linux ftp匿名用户,linux vsftp 匿名用户的设置
- 基于xlsx-populate实现的前端埋点导出
- access字段相加_access如何对一行的几列求和
- vulnhub bulldog
- 网络摄像头Androi端显示(mjpeg)源码分析
- 贵阳副市长刚写了一本区块链的书,趁热乎推荐给你!
- 认真对待每一道算法题 之 找明星问题 - 淘宇瀚
- VS2012 BIDS之Reporting Service/SSRS 项目
- mysql5.7.19收费》_mysql5.7.19安装
- 已知数据表A中每个元素距其最终位置不远,为节省时间排序,应采用什么方法排序?
- MOS管驱动电路,看这里就啥都懂了!
热门文章
- peoplepicker控件的使用
- 三天打工生活终于结束了
- 利用Canny边缘检测算子进行边缘检测的原理及OpenCV代码实现
- linux cp使用注意事项
- linux 内核网络协议栈--IP层开始直到包被处理(三)
- uniapp怎么引入css_uniapp - css样式设置scoped
- 二维方向图matlab程序,二维点源阵方向图,阵因子matlab
- mysql 单例模式好处_PHP单例模式的优点分析
- oracle11gRAC之log日志体系
- jquery easy ui 1.3.4 数据表格(DataGrid)(8)