YAML 学习笔记

1 篇文章 0 订阅

yaml是一种文件格式,后缀名.yml或.yaml,它的基本语法规则如下:

1. 大小写敏感
2. 使用缩进表示层级关系
3. 缩进时不允许使用Tab键,只允许使用空格。
4. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
5. #号表示注释

yaml支持的数据结构有三种:

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

使用举例:

#使用英文冒号分隔key与value,冒号后面至少要有一个空格
number: 12.30             # 数值型  等同于JavaScript { number: 12.30 }
isSet: true               # 布尔型  { isSet: true }
parent: ~                 # null { parent: null }
date: 2020-01-01          # 日期采用 ISO8601 格式 { date: new Date('2020-01-01') }
dateString: '2020-01-01'  # 日期的字符串形式    格式 { date: '2020-01-01' }
e: !!str 123              # 使用两个感叹号强转数值类型为字符串 { e: '123'}
str: 这是一行字符串           # 字符类型  { str: '这是一行字符串' }
str2: 我是一个 人。我的名字叫\t李四     # 遇到特殊字符时,不加引号的效果;空格仍在,制表符被转义了 { str2: '我是一个 人。我的名字叫\\t李四' }
str3: '我是一个 人。我的名字叫\t李四'    # 加单引号的效果;空格仍在,制表符被转义了  { str3: '我是一个 人。我的名字叫\\t李四' }
str4: "我是一个 人。我的名字叫\t李四"    # 加双引号的效果;空格仍在,制表符原样输出  { str4: '我是一个 人。我的名字叫\t李四' }

# 第一个冒号的值是一个对象,所以不需要有空格;等同于 { server: { 'context-path': '/rwrp', port: 8081 } }
server:
  context-path: /rwrp
  port: 8081

# 第二种写法,将所有键值对写成一个行内对象。注意所有冒号都要有一个空格
server2: {context-path: /rwrp,port: 8081}  

# 数组 ,减号后要有一个空格 [ 'Cat', 'Dog', 'Goldfish' ]
- Cat
- Dog
- Goldfish

# 二维数组,减号前有一个空格  [ [ 'Cat', 'Dog', 'Goldfish' ] ]
-
 - Cat
 - Dog
 - Goldfish

# 对象的值为数组  { person: [ 'tearch', 'student' ] }
person:
 - tearch
 - student 
  
# 数组的行内写法  { animal: [ 'Cat', 'Dog' ] }
animal: [Cat, Dog]

# 复杂结构
#{ languages: [ 'Ruby', 'Perl', 'Python' ]  websites: { YAML: 'yaml.org',Ruby: 'ruby-lang.org',Python: 'python.org',Perl: 'use.perl.org' } }
languages:
 - Ruby
 - Perl
 - Python 
websites:
 YAML: yaml.org 
 Ruby: ruby-lang.org 
 Python: python.org 
 Perl: use.perl.org 

yml 在线转js  http://nodeca.github.io/js-yaml/

参考资料  http://www.ruanyifeng.com/blog/2016/07/yaml.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值