首页 > 其他分享 >YAML语言格式介绍

YAML语言格式介绍

时间:2022-10-09 17:37:16浏览次数:45  
标签:语言 gender age Smith value YAML 格式 Male name

YAML是一种格式,用来表示资料的序列

YAML语法:
  • 单一文件第一行,使用连续三个连字号"-" 开始

  • “#”号表示注释

  • 缩进统一,不能空格和tab混用

  • 键值对之间可以换行写也可以逗号隔开

  • 键值对之间需要加一个空格来隔开 比如: key: value

YAML的数据类型:
  • 标量:一个不可分割的最小值

  • 对象:键值对的集合,又可以叫做字典、影射等

  • 数组:一组按次序排列的值,又可以叫做序列或者列表

scalar 标量

标量可以是:字符串 布尔值 数值 Null 时间 日期

例如:key对应value

key: 99

age: 22

value是一个不可分割的最小值,这就是标量

注意:

  • yaml中的字符串加不加引号效果都是一样的

  • JSON中字符串必须加双引号

字典:也叫做对象,多个键值对的组合
  • 字典由多个key与value构成,value可以是标量,也可以是字典或者列表

  • key和value之间用 :分隔, 并且 : 后面有一个空格,

  • 所有k/v可以放在一行,或者每个 k/v 分别放在不同行

例如:key对应的value为对象时:

account: { name: wang, age: 30 }

或者
account:
  name: wang
  age: 18
列表:也可以叫做数组,由多个元素(k/v)组成
  • 每个元素放在不同行,且元素前均使用"-"打头,并且 - 后有一个空格

  • 放在同一行:用中括号括起来,多个元素逗号隔开

course: [ linux , golang , python ]

或者  横线开头 用空格隔开
course:
- linux
- golang
- python

列表中的数据可以是单一的标量,也可以是字段或者列表。
范例:yaml表示一个家庭
name: John Smith
age: 41
gender: Male
spouse: { name: Jane Smith, age: 37, gender: Female } # 写在一行里 spouse:配偶
children: [ {name: Jimmy Smith,age: 17, gender: Male}, {name: Jenny Smith, age: 13, gender: Female}, {name: hao Smith, age: 20, gender: Male } ]  #写在一行
 - {name: Jenny Smith, age: 13, gender: Female}
 - {name: hao Smith, age: 20, gender: Male }

或者:
name: John Smith
age: 41
gender: Male
spouse: spouse:配偶
  name: Jane Smith   #也可以写成多行
  age: 37
  gender: Female
children:
 - name: Jimmy Smith    #写在多行,更为推荐的写法
   age: 17
   gender: Male
 - {name: Jenny Smith, age: 13, gender: Female}
 - {name: hao Smith, age: 20, gender: Male }

总结:
字典:所有元素写在一行就需要用花括号括起来并使用逗号隔开,如果写在多行就只需要注意缩进
列表:所有元素写在一行需要用中括号括起来,并用逗号隔开,写在多行就需要在每一个元素的前面加短横线

三种常见的数据格式:
  • XML:可扩展标记语言,可用于数据交换和配置

  • JSON:对象表记法,主要用来数据存储和传输,不支持注释

  • YAML: 不是一种标记语言, 主要用来配置

标签:语言,gender,age,Smith,value,YAML,格式,Male,name
From: https://www.cnblogs.com/heyongshen/p/16772897.html

相关文章

  • Java语言中多态的机制
    1.方法解析Class文件的编译过程中,不包含传统编译中的连接步骤,一切方法的调用在Class文件中存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性......
  • 用自己的编程语言实现了一个网站(增强版)
    前言前段时间在《用自己的编程语言实现了一个网站》用介绍了用GScript写的一个简单“网站”,虽然是打上引号的;页面长这样:看起来确实非常的挫,其实之前一直也想做一个G......
  • 转载:关于vscode(Visual Studio Code)编写c语言 中文乱码问题
    关于vscode(VisualStudioCode)编写c语言中文乱码问题。处理方法:选择菜单File > Preferences >Settings,找到TextEditor>Files中的Encoding,更改为Simplified......
  • C语言每日一题——第十二天
    第十二天小明今天要挑战一下算法!他的算法第一课是:二分查找。小明随意设置了一个函数:\(y=x^2+2x-1,x\in(-10^4,10^4)\)。他将使用二分法,找出给出的数字所在区间,精度为\(\p......
  • 语言干净有条理
    语言的干净利落要从两点上去努力。第一,要学会停顿,就是每句话停三秒,在停顿的时间全力想下句话,想好一句话,说一句话,就可以克服那个然后然后的语病;第二,学会一二三这样......
  • 【10月】C语言学习第1天
    指针符号&和*&用于指向变量数据位置,用十六进制表示*用于指向变量内存储的值-----------------------------------------函数对变量进行操控:由于函数返回只有一个值,固......
  • Vue3组件库打包指南,一次生成esm、esm-bundle、commonjs、umd四种格式
    本文为Varlet组件库源码主题阅读系列第二篇,读完本篇,你可以了解到如何将一个Vue3组件库打包成各种格式上一篇里提到了启动服务前会先进行一下组件库的打包,运行的命令为:v......
  • 语言表达能力
    保持自信是根本。要分条说,要么有逻辑关系;要么根据重要程度,从重到轻。说话要干净利落,绝不拖泥带水。不会的东西要学会自圆其说。这个时代,表达真的很重要,有时候......
  • 大疆 L1 任务文件格式说明(CLC/CLI/CMI/IMU/LDR/MNF/RTB/RTK/RTL/RTS/JPG/MOV)
    大疆L1任务文件格式说明(CLC/CLI/CMI/IMU/LDR/MNF/RTB/RTK/RTL/RTS/JPG/MOV)​​大疆L1官网简介​​​​CLC​​​​CLI​​​​CMI​​​​IMU​​​​LDR​​​​MNF​......
  • Lambda表达式实现方式、标准格式、练习、省略模式、注意事项及和匿名内部类的区别
    目录​​一、Lambda表达式实现方式​​​​二、Lambda表达式的标准格式​​​​三、Lambda表达式练习​​​​四、Lambda表达式的省略模式​​​​五、Lambda表达式的注意事......