.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 文件格式简介
from: http://www.cnblogs.com/phpgo/p/6480107.html .yaml 文件格式简介 命名 YAML 的意思其实是:"Yet Another Mark ...
- 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 ...
最新文章
- 超详细的Python matplotlib 绘制柱状图
- 解决Matplotlib图表不能在Pycharm中显示的问题:使用Anaconda
- 【ArcGIS风暴】ArcGIS10.6图斑椭球面积计算原理与方法
- os是android5.0,Funtouch OS 2.1曝光 完美改Android5.0
- Qt仿win7自动顶部最大化左侧右侧半屏效果
- zblog php mip,zblog网站改造百度MIP的教程仅针对zblog轻奢主题
- python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'解决办法
- 好程序员Python培训分享numpy简介
- Excel表格数据生成sql插入语句
- 流体动力matlab仿真,IND4动力总成丨基于MATLAB simulink的液力变矩器仿真建模
- iOS 打开扬声器以及插入耳机的操作
- Linux 磁盘管理的命令
- 柳暗花明又一村 WiFi新应用实现3D物体成像
- JAVA鞍山丘比特房屋租赁管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
- 战火与秩序迁城显示服务器忙,战火与秩序怎么迁城 迁城方法和迁城技巧分享[图]...
- python中IOU定义
- 我赢助手手把手教您挖掘用户痛点、做到独一无二的定位
- 【数据结构】单链表的创建、插入、删除及合并
- 树莓派控制4路5v继电器开关
- 中国信创桌面云市场竞争格局初显,华为、华云、深信服占据三强
热门文章
- git stash pop_git常用命令行背诵并默写(全)
- 现在使用计算机的工作原理是,计算机的工作原理是什么
- php接口调用教程,php接口调用
- php读取txt并写入数据库,php读取txt文件组成SQL并插入数据库的方法
- 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx
- 利用Python绘制 3D 体素色温图
- AI Studio 对于波士顿房价的线性回归
- Infineon第九届汽车电子开发者大会宣传视频
- ZNCZZ|新手做车的常见误区
- 苏教版四下用计算机计算,苏教版四年级下册数学单元测试-4.用计算器计算 (含答案)...