Info
Content

YAML 1.2

https://www.unserialize.me/ - сервис для преобразований
https://yaml.org/spec/1.2/spec.html - документация


JSON является подмножеством YAML (то есть YAML-парсер понимает JSON и внутри YAML кода можно использовать JSON)

В JSON ключи должны быть уникальными (но могут и не быть), а в YAML они не могут быть не уникальными (обязательно должны быть уникальными)

Лучше всегда использовать пробелы вместо табов.
Можно тестировать синтаксис через приложение yamllint


В YAML пробелы имеют значение. Каждый отступ из двух пробелов является новым уровнем (область видимости):

Также можно указывать область видимости более явно с помощью скобок:


Каждый элемент последовательности обозначается через тире с пробелом:

Последовательность является упорядоченной


Для обозначения сопоставления используется двоеточие с пробелом (ключ: значение):


Комментарии обозначаются через решетку:


Три дефиса обозначают начало документа:

А три точки обозначают конец документа (и начало нового):


Можно переиспользовать объекты. Делать якоря (алиасы) на объекты и вызывать их в другом месте документа с помощью амперсанда и звездочки:

Насколько я понял, *SS подменяет собой все что после &SS во всей области видимости

Альтернативный пример:

& - определяет имя объекта
* - позволяет обратиться к объекту по имени
<<: *NAME - заменят собой содержимое объекта NAME


В качестве ключа можно использовать и сложные структуры. Это можно делать с помощью знака вопроса с пробелом:

То есть ключом выступает определенный список.


В примере ниже описан список из трех объектов состоящих из двух пар key: value:


Многострочный текст можно записать так:

В случае со стрелкой переносы складываются в пробел, но только один перенос подряд преобразуется, все последующие переносы (идущие подряд) интерпретируются как переносы.


Стиль с двойными кавычками обеспечивает escape-последовательности. Стиль с одинарными кавычками полезен, когда экранирование не требуется.


No Comments
Back to top