`
bellstar
  • 浏览: 148503 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

快速认识yaml

    博客分类:
  • ruby
阅读更多
参考文档http://yaml.org/spec/1.2

yaml使用缩进表达数据的结构层次
bill-to: 001
    given  : Chris
    family : Dumars
    address:
        city    : Royal Oak
        state   : MI
        postal  : 48046

yaml中的三种基本数据表示
Scalars标量: 标量以行或其他分隔符来区分
abc
85
2008-08-08

Mappings字典: 字典以 key:value 的形式来表示
apple:   
  color: red
  weight: 1.2
  country: china

也可在同一行上用{}来表式
apple:{color: red, weight: 1.2, country: china}

Sequence序列:
处于同一层次的以-开头的标量属于同一序列
fruit:  
  -apple
  -banana
  -pear

也可在同一行上用[]来表式
fruit:[apple,banana,pear]



yaml中的注释
#注释内容



yaml文档
yaml文档并非指通常意义上的磁盘上的一个个文件,yaml的一个文档表示该文档表述的数据与其他文档的数据有着独立的上下文
---
文档1
...
---
文档2
...


yaml中的标识与引用
yaml中用&表示一个标识,用*引用一个被标识的标量
hr: &tag Sammy Sosa
rbi: *tag


更多形式的标量
以|开头的标量换行将会被保留
---
p: |
 line1
 line2
 line3
#{"p"=>"line1\nline2\nline3\n"}


以>开头的标量换行将会被替换成空格,空白行才会被替换成换行
---
p: >
 word1
 word2
 
 newline
 word3
 word4
#{"p"=>"word1 word2\nnewline word3 word4\n"}

字典和序列作为key
? {name: Liming, score: 60} 
: C
? - apple
  - banana
: fruit
#{["apple", "banana"]=>"fruit", {"name"=>"Liming", "score"=>60}=>"C"}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics