zoukankan      html  css  js  c++  java
  • YAML基础教程

    一、YAML介绍

    YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。Clark Evans在2001年5月在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。
    YAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言),
    YAML的特性
    1、YAML的可读性好
    2、YAML和脚本语言的交互性好
    3、YAML使用实现语言的数据类型
    4、YAML有一个一致的信息模型
    5、YAML可以基于流来处理
    6、YAML表达能力强、扩展性好

    二、YAML语法

    基本语法规则如下:

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

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

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

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


    YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态。连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。样例如下:

    house:
      family:
        name: Doe
        parents:
          - John
          - Jane
        children:
          - Paul
          - Mark
          - Simone
      address:
        number: 34
        street: Main Street
        city: Nowheretown
        zipcode: 12345
    

    注意:
        字串不一定要用双引号标识;
        在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
        允许在文件中加入选择性的空行,以增加可读性;
        在一个档案中,可同时包含多个文件,并用“——”分隔;
        选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。
    YAML文件扩展名通常为.yml 如example.yml

    2.2.1 list
    列表的所有元素均使用"-"开头,例如:
          - John
          - Jane
    2.2.2 dictionary
    字典通过key与value进行标识,例如:
       number: 34
        street: Main Street
        city: Nowheretown
        zipcode: 12345
    也可以将key:value放置于{}中进行表示,例如:
        {street: Main Street,city: Nowheretown,zipcode: 12345}

  • 相关阅读:
    Git服务器配置及本地克隆提交、服务器获取
    远程编译获取控制台日志信息
    切换分支更改项目之一二事
    linux(乌班图)修改apt下载源
    表id关联数据获取至页面,制作下拉框多选进行数据多项获取(字段处理)
    实例实现测试用例自动生成
    maven一模块字段调用另一个模块数据生成下拉框
    页面搜索框日期搜索条件数据至后台的类型转换(时间戳)
    IDEA报错:Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. ('crmWatcherService'错误)
    单表(SSM、SpringBoot、SpringCloud、Freemaker、BootStrap等)
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/9094102.html
Copyright © 2011-2022 走看看