YAML(以数据为中心)

不同项目用不用语言去写配置文件是真的烦,什么XML,CFG,YAML

我看着这个大哥的学习的 http://www.ruanyifeng.com/blog/2016/07/yaml.html

YAML是"YAML不是一种标记语言";但为了强调这种语言以数据做为中心,而不是以置标语言为重点。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

它是类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。

YAML的基本语法:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

# 表示注释,从这个字符一直到行尾,都会被解析器忽略。

YAML 支持的数据结构

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

下面一次介绍一下,对象,数组,存量

对象:

一组键值      version: 1.0      author: { name: Arron, sex: boy }

数组:

- Cat

- Dog

- Goldfish

数据结构的子成员是一个数组

-

- Cat

- Dog

- Goldfish

对象可以跟数组混合使用:

Name:

 - Arron

 - Jack

纯量:纯量是最基础的值,不可分割

整数: int: 12  float:12.0

布尔值:bool: true  bool: false

Null: Null: ~(Null 用~表示)

时间:iso8601: 2001-12-14t21:59:43.10-05:00(采用iso8601格式)

日期:date: 1976-07-31 

字符串:

str: 这是一行字符串(默认不带引号,除非带有特殊字符或者空格)

str: '内容: 字符串\n'

#单引号之中如果还有单引号,必须连续使用两个单引号转义,#用来注释

多行字符串可以使用|保留换行符,也可以使用>折叠换行。

this: |

   hi

   Arron

 this: >

   Hello

   Jack

&用来建立锚点(defaults),<<表示合并到当前数据,*用来引用锚点

defaults: &defaults

   adapter: postgres

   host: localhost

development:

   database: myapp_development

   <<: *defaults

test:

   database: myapp_test

   <<: *defaults

defaults:
   adapter: postgres
   host: localhost
development:
   database: myapp_development
   adapter: postgres
   host: localhost
test:
   database: myapp_test
   adapter: postgres
   host: localhost
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值