精华内容
下载资源
问答
  • yaml语法
    千次阅读
    2020-12-30 05:48:30

    .inf空值      #无穷大

    在YAML中,空值可以用null或~

    表示。

    布尔值

    在YAML中,布尔值用true和false

    表示。

    尽管 symfony 的 YAML解析器能够把on 、

    off 、 yes和no

    等解析为布尔值,但是我们强烈反对使用他们,因为它们已经在YAML

    1.2标准中被移除。

    日期

    YAML 使用 ISO-8601 标准表示日期:

    2001-12-14t21:59:43.10-05:00#简单日期示例

    2002-12-14集合

    YAML文件很少仅用来描述一个简单的基础类型。大多数时候,它被用来描述一个集合。一个集合可以是一个序列(数组)或散列表(哈希表)。序列和散

    列表都会被转换成为 PHP 的数组。

    使用一个跟着空格的“-”符号来声明一个序列:

    - PHP

    - Perl

    - Python

    这相当于下面的PHP代码:

    array('PHP', 'Perl', 'Python');

    使用一个跟着空格的冒号标记每一个键/值对来声明一个散列表:

    PHP: 5.2

    MySQL: 5.1

    Apache: 2.2.20

    这相当于下面的PHP代码:

    array('PHP' => 5.2, 'MySQL' => 5.1,

    'Apache' => '2.2.20');

    在散列表中,键 (key)

    可以是任何合法的YAML基础类型。

    一个散列项的冒号和值之间必须至少有一个或者更多个空格,而具体的空格数目并不重要:

    PHP: 5.2

    MySQL: 5.1

    Apache: 2.2.20

    YAML使用一个或多个空格的缩进来描述嵌套集合:

    "symfony 1.0":

    PHP: 5.0

    Propel: 1.2

    "symfony 1.2":

    PHP: 5.2

    Propel: 1.3

    这段 YAML 代码相当于下面的PHP代码:

    array(

    'symfony 1.0' => array(

    'PHP' => 5.0,

    'Propel' => 1.2,

    ),

    'symfony 1.2' => array(

    'PHP' => 5.2,

    'Propel' => 1.3,

    ),

    );

    在YAML文件中使用缩进时必须牢记的一件事情是:

    必须使用一个或多个空格进行缩进,而不能使用制表符

    (Tab键) 。

    你可以像这样混合使用嵌套的序列和散列表:

    'Chapter 1':

    - Introduction

    - Event Types

    'Chapter 2':

    - Introduction

    - Helpers

    YAML也可以使用流风格的集合,使用明确的标示符而不是缩进进行集合范围的界定。

    一个序列可以写成方括号( [] )

    中逗号分隔的列表的形式:[PHP, Perl, Python]

    一个散列表可以写成大括号( {} )

    中逗号分隔的键/值对列表的形式:{ PHP: 5.2, MySQL: 5.1, Apache: 2.2.20 }

    你也可以混合两种风格,以实现更好的可读性:

    'Chapter 1': [Introduction, Event Types]

    'Chapter 2': [Introduction, Helpers]"symfony 1.0": { PHP: 5.0,

    Propel: 1.2 }

    "symfony 1.2": { PHP: 5.2, Propel: 1.3 }注释

    YAML 中添加注释的方式是通过井字符(#):

    #行末评论

    "symfony 1.0": { PHP: 5.0, Propel: 1.2 } # Comment at the end of a

    line

    "symfony 1.2": { PHP: 5.2, Propel: 1.3 }

    由于注释会被YAML解析器忽略,因此不必刻意对注释进行缩进。

    动态 YAML 文件

    在 symfony 中,一个 YAML 文件可以包含 PHP

    代码,这部分代码将在 YAML 文件解析前被执行:

    1.0:

    version: <?php echo

    file_get_contents('1.0/VERSION')."\n" ?>

    1.1:

    version: "<?php echo

    file_get_contents('1.1/VERSION') ?>"

    注意保持文件的正确缩进格式。当在 YAML 中嵌入

    PHP 代码时,应记住以下几点:

    ?>

    语句必须在一行的开始,或作为一个属性的值的一部分

    若<?php

    ?>在行末,则需要在 php

    中输出一个换行符(”\n”)。

    一个完整的 例子

    下面的例子使用了本章中提到的 YAML 语法:

    "symfony 1.0":

    end_of_maintainance: 2010-01-01

    is_stable: true

    release_manager: "Gregoire Hubert"

    description: >

    This stable version is the right choice for projects

    that need to be maintained for a long period of time.

    latest_beta: ~

    latest_minor: 1.0.20

    supported_orms: [Propel]

    archives: { source: [zip, tgz], sandbox: [zip, tgz] }

    "symfony 1.2":

    end_of_maintainance: 2008-11-01

    is_stable: true

    release_manager: 'Fabian Lange'

    description: >

    This stable version is the right choice

    if you start a new project today.

    latest_beta: null

    latest_minor: 1.2.5

    supported_orms:

    - Propel

    - Doctrine

    archives:

    source:

    - zip

    - tgz

    sandbox:

    - zip

    - tgz

    更多相关内容
  • 最全 Yaml 语法详解

    2020-12-20 22:51:14
    最全 Yaml 语法详解简单说明基本语法Yaml 支持的数据结构对象类型:对象的一组键值对,使用冒号结构表示数组类型:一组连词线开头的行,构成一个数组复合结构:对象和数组可以结合使用,形成复合结构纯量:纯量是最...
  • YAML语法&用法

    2019-07-30 02:19:04
    YAML语法-用法说明书.rar,YAML语法-用法说明书.yml
  • YAML语法总结

    2021-11-01 09:52:42
    参考文档: 官方文档:... 文章目录一、YAML概念二、YAML核心三、常用语法规则四、YAML数据类型五、数据类型的详解1. YAML 对象2、YAML数组3.数组和对象4....YAML语法全称 “Yet Another Markup La.

    参考文档

    官方文档:https://yaml.org/spec/1.2.2/
    文档1:https://www.runoob.com/w3cnote/yaml-intro.html
    文档2:https://www.jianshu.com/p/36f6acedf378

    一、YAML概念

    • YAML语法全称 “Yet Another Markup Language(另一种标记语言)" ,设计目标是为了方便所有人都能很快看懂读写的语法,常用于配置文件。
    • YAML的配置文件都以.yml为后缀
    • 凡是以.yml为后缀的都是用的YAML语法,常见的比如ansible的playbook、docker的compose等
    • YAML 规范通常被视为过于复杂,因为它看起来很简单。尽管 YAML 经常用于软件配置,但它一直是并将继续是一种完整的数据序列化语言。未来的 YAML 计划专注于使语言和生态系统更加强大和可靠,同时简化实施者的开发过程。

    二、YAML核心

    YAML以数据为中心,使用空白,缩进,分行组织数据。三种数据类型为:对象、数组、纯量

    三、常用语法规则

    1. 大小写敏感
    2. 使用缩进表示层级关系
    3. 禁止使用tab缩进,只能使用空格键
    4. 缩进的空格数不重要,只要相同层级的元素左对齐即可
    5. 使用#表示注释
    6. 字符串可以不用引号标注

    四、YAML数据类型

    YAML 支持以下几种数据类型:

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

    五、数据类型的详解

    1. YAML 对象

    • 对象键值使用冒号结构表示 key: value 冒号后面要加一个空格
    • 也可以使用对象键值组合 key:{key1: value1, key2: value2, …}
    • 还可以使用缩进表示层级关系。
    - key: 
        child-key: value
        child-key2: value2
    

    较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的 key,配合一个冒号加一个空格代表一个 value:

    ?  
        - complexkey1
        - complexkey2
    :
        - complexvalue1
        - complexvalue2
    
    # 一句话理解就是?后接空格表示一个key的数组,而:后接空格表示一个value的数组
    

    2、YAML数组

    1. -开头表示数组
    - id
    - name
    - route
    
    1. 行内表示多维数组
    key: [value1, value2, , , ,]
    
    1. 使用同级缩进构成父子关系
     -
      - A
      - B
      - C
     
    #这里回顾一下语法规则:同级使用空格缩进,没有空格数量一说,只要对其的就是同级,类似于树状图层次分级
    
    1. 手动写一个举例
     user:
      -
       -id: 1
       -name: root
       -pass: ABC123
      -
       -id: 2
       -name: admin
       -pass: ABC456
       
    

    解释
    在这里插入图片描述

    3.数组和对象

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

    -开头的为数组
    kay: value的为对象

    4.纯量

    纯量是最基本的,不可再分的值,包括:

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

    使用一个例子来快速了解纯量的基本使用:

    boolean: 
        - TRUE  #true,True都可以
        - FALSE  #false,False都可以
    float:
        - 3.14
        - 6.8523015e+5  #可以使用科学计数法
    int:
        - 123
        - 0b1010_0111_0100_1010_1110    #二进制表示
    null:
        nodeName: 'node'
        parent: ~  #使用~表示null
    string:
        - 哈哈
        - 'Hello world'  #可以使用双引号或者单引号包裹特殊字符
        - newline
          newline2    #字符串可以拆成多行,每一行会被转化成一个空格
    date:
        - 2018-02-17    #日期必须使用ISO 8601格式,即yyyy-MM-dd
    datetime: 
        -  2018-02-17T15:02:31+08:00    #时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区
    

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

    defaults: &defaults
      adapter:  postgres
      host:     localhost
    
    development:
      database: myapp_development
      <<: *defaults
    
    test:
      database: myapp_test
      <<: *defaults
    

    相当于:

    defaults:
      adapter:  postgres
      host:     localhost
    
    development:
      database: myapp_development
      adapter:  postgres
      host:     localhost
    
    test:
      database: myapp_test
      adapter:  postgres
      host:     localhost
    

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

    下面是另一个例子:

    - &showell Steve 
    - Clark 
    - Brian 
    - Oren 
    - *showell 
    
    展开全文
  • yaml语法规则

    2021-04-16 00:05:20
    1、基本语法规则 2、yaml使用场景 3、yaml语法 4、yaml基本语法案例

    1、基本语法规则

    1.1、大小写敏感;
    1.2、使用缩进表示层级关系,缩进时不允许使用Tab,只允许使用空格;
    1.3、缩进的空格数目不重要,只要相同层级的元素左对齐即可;
    1.4# 表示注释,从它开始到行尾都被忽略;
    1.5、只要是非数字都会被python识别为字符串;
    1.6、单引号:特殊字符原格式输出;
    1.7、双引号:转义后效果输出;
    1.8、如果字符串没有空格或特殊字符,不需要加引号,但如果其中有空格或特殊字符,则需要加引号;
    1.9`&` 用于定义变量, `*` 用于引用变量;
    

    2、yaml使用场景

    2.1、配置文件
    2.2、测试用例
    

    3、yaml语法

    字典
    列表
    嵌套
    注释
    & * 变量操作
    多用例
    空格与颜色变化
    
    示例:test.yaml文件内容
    	url: xxx
    	method: post
    	detail: xxx
    	data:
    	    username: "" #如果不填 None
    	    password: ""
    	check:
    	    retcode: 1
    	    reason: xxx
    

    4、yaml基本语法案例

    # test.yaml文件内容
    name: 灰蓝
    age: 0
    job: Tester
        
    # python代码
    import yaml
    import os
    
    # 项目路径
    project_path = os.path.split(os.path.realpath(__file__))[0].split('tools')[0]
    
    def get_yaml_data(fileDir):
        """
        读取 test.yaml 文件内容
        :param fileDir:
        :return:
        """
        # 1、在内存里加载这个文件
        f = open(fileDir, 'r', encoding='utf-8')
        # 2、调用yaml读取文件
        # Loader=yaml.FullLoader 更加安全
        res = yaml.load(f, Loader=yaml.FullLoader)
        return res
    
    
        if __name__ == '__main__':
            info = get_yaml_data(project_path + r'\test.yaml')
            print(info)
    
    
        # 输出:
        # {'name': 'xiaoqiang', 'age': 120, 'job': 'Tester'}
    
    展开全文
  • yaml语法详解

    2022-01-20 21:01:27
    文章目录yaml是什么?JSR303校验配置文件可以放在四个地方多环境配置 yaml是什么? 可以同时存在两个配置文件但是必须名字相同 在properties中的server.port相当于yaml中的server: port: yaml中的键值对: #键值对 ...

    yaml是什么?

    image-20220112210554563

    可以同时存在两个配置文件但是必须名字相同

    在properties中的server.port相当于yaml中的server: port:

    yaml中的键值对:

    #键值对
    name:sheepbotany
    #对象
    student:
    name:sheepbotany
    sex:woman
    
    #行内写法
    Student: {name: sheepbotany,sex: woman}
    
    #数组
    pets:
      -cat
      -dog
      -pig
    
    pet: [cat,dog,pig]
    

    image-20220112211855693

    yaml可以给实体类赋值

    一般赋值方法:

    image-20220112213413765

    yaml方式

    image-20220112215205290

    properties方式

    image-20220112221937298

    其他用法:

    表示存在dog.hello时,用dog.hello的值,否则用sheepbotany

    image-20220112222701759

    JSR303校验

    image-20220113150138474

    添加数据校验

    image-20220113150606932

    会出现报错,原因是name为sheepbotany不是邮箱的格式

    如果无法@Email,因为没有import javax.validation.constraints.Email;

    则需要在依赖中添加:

    image-20220113150817372

    对@Email alt+enter即可

    多环境配置以及配置文件的位置

    配置文件可以放在四个地方

    1:file/config

    2:file:

    3:classpath/config:类路径下的config

    4:classpath

    image-20220113203830216

    多环境配置

    如图表示test环境下的端口:

    image-20220113221859395

    一个yaml文件中的多环境配置

    image-20220113222948356

    亿点点注解

    image-20220114211138687

    展开全文
  • YAML 语法

    2021-08-05 01:52:10
    YAML 语法这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言).我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据格式. 此外在大多数变成语言中有使用 YAML...
  • Kubernetes之YAML语法

    2021-04-13 17:38:16
    Kubernetes的YAML语法 1. YAML 语法特性 学过编程的人理解起来应该非常容易 多种数据格式化结构方式 [1] 语法特点 大小写敏感 通过缩进表示层级关系 禁止使用tab缩进,只能使用空格键 缩进的...
  • YAML语法详细总结

    2021-03-17 08:57:32
    yaml 基本语法 key:value,kv之间有空格 大小写敏感 使用缩进表示层级关系 缩进不允许使用tab,只允许空格 缩进的空格数不重要,只要相同曾经的元素左对齐即可 '#'表示注释 ''字符串内容不会被转义 ""字符串内容会...
  • yaml语法学习.md

    2021-08-25 16:48:49
    yaml语法学习.md
  • python系列之:YAML语法总结

    千次阅读 2022-03-12 09:43:06
    python系列之:YAML语法总结一、YAML语法规则二、YAML支持的数据格式三、PyYAML库解析YAML格式文件 YAML是一种可读性很强的数据格式语言。 一、YAML语法规则 YAML文件的第一行为"—",表示这是一个YAML文件 YAML中...
  • 【Ansible】YAML语法

    2022-07-29 09:10:04
    YAML语法 scalar标量 name:wang 或者使用缩进的方式 name: wang 标量是最基本的,不可再分的值,其中包括 字符串 布尔值 整数 浮点数 Null 时间 日期 Dictionary字典 字典由key和value构成,且用:分隔,所有的key...
  • SpringBoot之yaml语法

    2022-03-31 16:29:52
    SpringBoot之yaml语法 1、配置文件 官方配置文档太多了,根本记不住! 怎么办呐–>了解原理 SpringBoot使用了一个全局配置文件,且配置文件的名称是固定的: application.properties 语法结构:key=value ...
  • yaml语法和303检验

    2022-04-21 17:31:05
    创建application.yaml application.properties 语法结构 :key=value application.yml 语法结构 :key:空格 value 这种语言以数据作为中心,而不是以标记语言为重点! 说明:语法要求严格! 1、空格...
  • 检查yaml语法的工具

    千次阅读 2021-05-11 17:18:48
    # node --version v11.15.0 3、安装yamllint工具 npm install -g yaml-lint [root@iZuf612i9bshiuw3zzlfe9Z cfg]# npm install -g yaml-lint /usr/bin/yamllint -> /usr/lib/node_modules/yaml-lint/cli.js + yaml-...
  • YAML语法介绍

    千次阅读 2020-12-19 15:04:42
    在数据格式描述和较复杂数据内容展示方面的配置文件,JSON能够很好的支持,包括语法突出显示、自动格式化、验证工具等。然而缺乏注释,过于严格,长字符串转换会出现问题等等。对于运维人员,面对较复杂的数据结构来...
  • YAML语法介绍2. YAML数据类型2.1 常量:单个的、不能再分割的值2.2 对象:键值对的集合2.3 数组:一组按次序排列的值 1. 介绍 1. YAML语法介绍 YAML是一个类似于XML、JSON的标记性语言。它强调以“数据”为中心,并...
  • K8s之YAML语法

    2021-04-15 10:36:18
    YAML 语法特性 语法特点 大小写敏感 通过缩进表示层级关系 禁止使用tab缩进,只能使用空格键 缩进的空格数目不重要,只要相同层级左对齐 使用#表示注释 # yaml languages: - Ruby - Perl - Py
  • Yaml语法理解

    千次阅读 2020-12-19 15:01:18
    来源:https://www.runoob.com/w3cnote/yaml-intro.htmlYAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。...YAML语法和其他高级语言类似,并且可以简单表达清单、散列...
  • yaml语法及格式校验

    千次阅读 2021-10-23 06:16:37
    基本语法 1、yml文件以缩进代表层级关系 2、缩进不允许使用tab只能使用空格 3、空格的个数不重要,只要相同层级的元素左对齐即可 4、大小写敏感 5、数据格式为,名称:(空格)值 也就是说,如果冒号后面有值,...
  • SpringBoot学习(三)——yaml语法
  • 面向YAML( )语法 安装 npm install tree-sitter-yaml tree-sitter 用法 const Parser = require ( "tree-sitter" ) ; const YAML = require ( "tree-sitter-yaml" ) ; const parser = new Parser ( ) ; parser . ...
  • 2、yaml语法注解

    千次阅读 2021-09-09 20:09:42
    yaml语法注解 配置文件 两种形式 application.properties和.yaml 第一种语法 key=value 第二种key:空格value 作用用来修改spring默认的配置 YAML: YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,003
精华内容 12,401
关键字:

yaml语法