• YAML


     https://www.yiibai.com/yaml/yaml_json_schema.html

    http://www.ruanyifeng.com/blog/2016/07/yaml.html

    1.简介

    YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。

    它的基本语法规则如下。

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

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

    YAML 支持的数据结构有三种。

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

    二、对象

    对象的一组键值对,使用冒号结构表示。

    
    animal: pets
    

    转为 JavaScript 如下。

    
    { animal: 'pets' }
    

    Yaml 也允许另一种写法,将所有键值对写成一个行内对象。

    
    hash: { name: Steve, foo: bar } 
    

    转为 JavaScript 如下。

    
    { hash: { name: 'Steve', foo: 'bar' } }

    三、数组

    一组连词线开头的行,构成一个数组。

    
    - Cat
    - Dog
    - Goldfish
    

    转为 JavaScript 如下。

    
    [ 'Cat', 'Dog', 'Goldfish' ]
    

    数据结构的子成员是一个数组,则可以在该项下面缩进一个空格。

    
    -
     - Cat
     - Dog
     - Goldfish
    

    转为 JavaScript 如下。

    
    [ [ 'Cat', 'Dog', 'Goldfish' ] ]
    

    数组也可以采用行内表示法。

    
    animal: [Cat, Dog]
    

    转为 JavaScript 如下。

    
    { animal: [ 'Cat', 'Dog' ] }

    四、复合结构

    对象和数组可以结合使用,形成复合结构。

    
    languages:
     - Ruby
     - Perl
     - Python 
    websites:
     YAML: yaml.org 
     Ruby: ruby-lang.org 
     Python: python.org 
     Perl: use.perl.org 
    

    转为 JavaScript 如下。

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

    五、纯量

    纯量是最基本的、不可再分的值。以下数据类型都属于 JavaScript 的纯量。

    • 字符串
    • 布尔值
    • 整数
    • 浮点数
    • Null
    • 时间
    • 日期

    数值直接以字面量的形式表示。

    
    number: 12.30
    

    转为 JavaScript 如下。

    
    { number: 12.30 }
    

    布尔值用truefalse表示。

    
    isSet: true
    

    转为 JavaScript 如下。

    
    { isSet: true }
    

    null~表示。

    
    parent: ~ 
    

    转为 JavaScript 如下。

    
    { parent: null }
    

    时间采用 ISO8601 格式。

    
    iso8601: 2001-12-14t21:59:43.10-05:00 
    

    转为 JavaScript 如下。

    
    { iso8601: new Date('2001-12-14t21:59:43.10-05:00') }
    

    日期采用复合 iso8601 格式的年、月、日表示。

    
    date: 1976-07-31
    

    转为 JavaScript 如下。

    
    { date: new Date('1976-07-31') }
    

    YAML 允许使用两个感叹号,强制转换数据类型。

    
    e: !!str 123
    f: !!str true
    

    转为 JavaScript 如下。

    
    { e: '123', f: 'true' }
  • 相关阅读:
    DNS原理入门
    软件架构入门
    熵:宇宙的终极规则
    新鲜事
    加密货币的本质
    汇编语言入门教程
    HTML & CSS
    [模板] 矩阵快速幂
    [模板] 三分
    [模板] 2-SAT 问题
  • 原文地址:https://www.cnblogs.com/lelin/p/11661424.html
Copyright © 2020-2023  润新知