博客
关于我
编程杂项--yml
阅读量:512 次
发布时间:2019-03-07

本文共 1162 字,大约阅读时间需要 3 分钟。

YAML语言基础教程

简介

YAML(Yet Another Mark-up Language)是一种轻量级的标记语言,广泛应用于配置文件中。与JSON、XML等其他标记语言相比,YAML更适合用于数据配置,数据为中心,具有简洁易读的特点。

YAML基本规则

YAML具有以下基本规则:

  • 大小写敏感:键和值的大小写会影响结果。
  • 缩进表示层级关系:只能使用空格键进行缩进,禁止使用Tab键。
  • 缩进无限制:只要元素对齐即表示同一层级。
  • 注释方式:使用#表示注释。
  • 字符串处理:字符串可以不需要引号标注。

YAML数据类型

YAML支持以下数据类型:

  • 对象(映射):键值对集合,如 {key: value}
  • 数组(列表):按顺序排列的值,如 [value1, value2, value3]
  • 纯量:不可再分的单个值,包括字符串、布尔值、整数、浮点数、Null、时间、日期等。

YAML格式

纯量

纯量是YAML的基础,不可再分的值,常见类型包括:

  • 字符串:不需要引号包裹,可拆分多行。
str: 这是一行字符串# 转为JSON:{ "str": "这是一行字符串" }
  • 布尔值truefalse
key1: truekey2: false
  • 整数:直接写出数字。
num: 42
  • 浮点数:支持科学计数法。
num: 3.14num: 6.8523015e+5
  • Null:表示缺失值。
null: null
  • 时间日期:可以通过特定格式化方式表示。
对象

对象键值对的表示方式:

key:  key1: value1  key2: value2

或者:

key: {key1: value1, key2: value2}
数组

数组表示方式:

  • 使用-表示单项:
pets:  - cat  - dog  - pig
  • 使用方括号表示数组:
pets: [cat, dog, pig]

支持多维数组:

array:  - [A, B, C]
引用

YAML支持锚点与别名,用于引用:

  • &:创建锚点标记。
  • <<:合并当前数据。
  • *:引用锚点。

示例:

name: &a yamlbook: *abooks:  - java  - *a  - python

转换为:

name: yamlbook: yamlbooks:  - java  - yaml  - python

高级内容

分段处理

多个文档可在一个YAML文件中使用---分隔:

spring:  profiles:    active: dev---spring:  profiles:    server:      port: 8080---spring:  profiles:    prod:      port: 8082

通过分段处理,可以管理多个配置文件。

转载地址:http://zntjz.baihongyu.com/

你可能感兴趣的文章
Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
NMAP网络扫描工具的安装与使用
查看>>
NMF(非负矩阵分解)
查看>>
nmon_x86_64_centos7工具如何使用
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>