• YAML


      yaml应用:https://www.cnblogs.com/beautiful-code/p/6425020.html 

    一、yaml的介绍

      一、简介

      1、诞生

      YAML参考了其他多种语言,包括:XMLC语言PythonPerl以及电子邮件格式RFC2822。
      Clark Evans在2001年5月在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。

      2、命名

      YAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写。
      在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)

      3、功能

      YAML语言的设定目标就是方便人类读写。它本质上是一种通用的数据串行化格式

    • YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。
    • 它使用空白符号缩排和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
    • 尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。
    • 由于YAML使用空白字符和分行来分隔资料,使的他特别适合用grep、Python、Perl、Ruby操作。
    • 其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构中会变得复杂而难以辨认。

      二、yaml基本语法规则

    • 大小写敏感
    • 使用缩进表示层次关系
    • 缩进时不允许使用tab键,只允许使用空格
    • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
    • “#”表示注释
    • yaml文件以“---”作为文档的开始,以“...”作为文档的结束(这个不是强制要求

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

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

    二、yaml支持的数据结构

      一、对象:映射(mapping)/ 哈希(hashes) / 字典(dictionary)

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

    • number
    • float

      二、数组

      三、纯量

      1、数值

      整数、布尔值

      2、布尔值

      表示true的值
      true, True, TRUE, yes, Yes, YES, on, On, ON, y, Y

      表示false的值
      false, False, FALSE, no, No, NO, off, Off, OFF, n, N

      3、字符串

      字符串默认不使用引号表示
      单引号和双引号都可以使用,双引号不会对特殊字符转义。
      单引号之中如果还有单引号,必须连续使用两个单引号转义。
      字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。
      多行字符串可以使用|保留换行符,也可以使用>折叠换行。
      +表示保留文字块末尾的换行,-表示删除字符串末尾的换行。
      字符串之中可以插入 HTML 标记。

      4、引用

      锚点&和别名*,可以用来引用。

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

    三、高级YAML语法 

      !unsafe使用

      变量值中保存的数据应被视为不安全的,防止不安全的字符子集和信息披露。

    ---
    hosts: all
    vars:
        my_unsafe_variable: !unsafe 'unsafe value'
    tasks:
        ...

      Playbooks 采用YMAL 语法结构,基本的YMAL 语法请参考
      http://docs.ansible.com/YAMLSyntax.html

      python利用pyyaml模块进行解析yaml语言
      http://pyyaml.org/wiki/PyYAMLDocumentation

      yaml格式在线检查
      http://yaml-online-parser.appspot.com/


     文章来源链接:https://www.jianshu.com/p/51a885f55a61

  • 相关阅读:
    centos7配置java环境
    docker下安装vim
    小程序开发知识点总结
    response设置输出文件编码
    IDEA中,将文件夹加入classpath
    【问题排查】StringIndexOutOfBoundsException
    【问题排查记录】Field 'id' doesn't have a default value;
    http
    raw_input() 与 input() __ Python
    记一次eclipse无法启动的排查过程
  • 原文地址:https://www.cnblogs.com/happy-king/p/8709142.html
Copyright © 2020-2023  润新知