YAML最最基础语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YAML最最基础语法相关的知识,希望对你有一定的参考价值。

参考技术A 正如YAML所表示的YAML Ain’t Markup Language,YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。

一边学习规则一边可以在在线Demo这个YAML转化JSON网页中进行上手练习

基本规则
YAML有以下基本规则:
1、大小写敏感
2、使用缩进表示层级关系
3、禁止使用tab缩进,只能使用空格键
4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。
5、使用#表示注释
6、字符串可以不用引号标注

三种数据结构
1、map,散列表
使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map,示例:

也可以将一个map写在一行:

2、list,数组
使用连字符(-)表示:

3、scalar,纯量
数据最小的单位,不可以再分割。

数据结构嵌套
map和list的元素可以是另一个map或者list或者是纯量。由此出现4种常见的数据嵌套:
1、map嵌套map

2、map嵌套list

3、list嵌套list

除此以外,还可以如下表示该结构

4、list嵌套map

原文: https://blog.csdn.net/vincent_hbl/article/details/75411243

YAML基础语法-ansible使用ansible-playbook

YAML 语法

这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言).

我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据格式. 此外在大多数变成语言中有使用 YAML 的库.

基本的 YAML

对于 Ansible, 每一个 YAML 文件都是从一个列表开始. 列表中的每一项都是一个键值对, 通常它们被称为一个 “哈希” 或 “字典”. 所以, 我们需要知道如何在 YAML 中编写列表和字典.

YAML 还有一个小的怪癖. 所有的 YAML 文件(无论和 Ansible 有没有关系)开始行都应该是 ---. 这是 YAML 格式的一部分, 表明一个文件的开始.

列表中的所有成员都开始于相同的缩进级别, 并且使用一个 "- " 作为开头(一个横杠和一个空格):

---
# 一个美味水果的列表
- Apple
- Orange
- Strawberry
- Mango

一个字典是由一个简单的 键:  的形式组成(这个冒号后面必须是一个空格):

---
# 一位职工的记录
name: Example Developer
job: Developer
skill: Elite

字典也可以使用缩进形式来表示, 如果你喜欢这样的话:

---
# 一位职工的记录
{name: Example Developer, job: Developer, skill: Elite}
---
- hosts: webservers
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum: pkg=httpd state=latest
  - name: write the apache config file
    template: src=/srv/httpd.j2 dest=/etc/httpd.conf
    notify:
    - restart apache
  - name: ensure apache is running
    service: name=httpd state=started
  handlers:
    - name: restart apache
      service: name=httpd state=restarted


以两个空格缩进为格式 Python是4个空格



以上是关于YAML最最基础语法的主要内容,如果未能解决你的问题,请参考以下文章

yaml文件及语法基础

YAML基础语法-ansible使用ansible-playbook

Python3 - YAML文件的基本语法和简介

Ansible自动化运维之YAML基础元素

Python3 - YAML文件的基本语法和简介

AngularJS语法基础及数据绑定——详解各种数据绑定指令属性应用