Как пользоваться
- Вставьте YAML в редактор ввода.
- В настройке «Результат» выберите «Отступ 2», «Отступ 4» или «Минифицировать».
- Проверьте JSON в редакторе результата: он обновляется автоматически, пока вы редактируете YAML. Если ввод больше 1 048 576 символов, нажмите «Конвертировать» или Ctrl+Enter.
Примеры
Общие настройки сервисов через якорь
defaults: &defaults
restart: unless-stopped
environment:
TZ: Europe/Moscow
services:
katalog:
<<: *defaults
image: registry.example.ru/katalog:1.4
poisk:
<<: *defaults
image: registry.example.ru/poisk:2.1
restart: on-failure
{
"defaults": {
"restart": "unless-stopped",
"environment": {
"TZ": "Europe/Moscow"
}
},
"services": {
"katalog": {
"restart": "unless-stopped",
"environment": {
"TZ": "Europe/Moscow"
},
"image": "registry.example.ru/katalog:1.4"
},
"poisk": {
"environment": {
"TZ": "Europe/Moscow"
},
"image": "registry.example.ru/poisk:2.1",
"restart": "on-failure"
}
}
}Числовые коды ответов в OpenAPI
openapi: 3.0.3
info:
title: API каталога
version: '1.0'
paths:
/tovary:
get:
responses:
200:
description: Список товаров
404:
description: Товары не найдены
{
"openapi": "3.0.3",
"info": {
"title": "API каталога",
"version": "1.0"
},
"paths": {
"/tovary": {
"get": {
"responses": {
"200": {
"description": "Список товаров"
},
"404": {
"description": "Товары не найдены"
}
}
}
}
}
}Два документа Kubernetes в одном файле
apiVersion: v1 kind: Namespace metadata: name: katalog --- apiVersion: v1 kind: ConfigMap metadata: name: katalog-settings namespace: katalog data: CITY: Казань LOG_LEVEL: info
[{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"katalog"}},{"apiVersion":"v1","kind":"ConfigMap","metadata":{"name":"katalog-settings","namespace":"katalog"},"data":{"CITY":"Казань","LOG_LEVEL":"info"}}]Как типы YAML превращаются в JSON
| YAML | JSON | Примечание |
|---|---|---|
name: Alice, "02134" | строка | Числа в кавычках остаются строками. |
30, 1.10, 0x1F, 12345678901234567890 | число | Записываются точно как в YAML; шестнадцатеричные и восьмеричные становятся десятичными. |
true, False | логическое значение | yes, no, on остаются строками (YAML 1.2). |
null, ~, пустое значение | null | |
2001-12-14, 12:30:00 | строка | Никакого скрытого преобразования в метки времени. |
списки, словари, якоря, ключи слияния << | массив, объект | Алиасы раскрываются; порядок ключей сохраняется. |
.inf, .nan, !!binary, !Ref, список в качестве ключа | — | Ошибка с путём и номером строки, а не молчаливое изменение. |
Частые вопросы
Почему yes и on не превращаются в true?
По умолчанию используются правила YAML 1.2: yes, no, on и off остаются строками. Если документ содержит директиву %YAML 1.1, применяются правила YAML 1.1, и конвертер показывает примечание.
Сохраняется ли точность больших чисел?
Конвертер записывает числа без округления: например, 12345678901234567890, 1.10 и 1e3 сохраняются в исходном виде. Шестнадцатеричные и восьмеричные числа переводятся в десятичные.
Почему YAML не конвертируется в JSON?
Причиной могут быть ошибки синтаксиса, повторяющиеся ключи, пользовательские теги вроде !Ref или значения .inf и .nan, которых нет в JSON. Сообщение указывает строку и столбец; для ошибок преобразования также указан путь в данных.
Отправляется ли YAML на сервер?
Конвертация выполняется в вашем браузере, код инструмента не отправляет YAML или JSON на сервер. Ввод не сохраняется; сохраняются только настройки, а при переходе в связанный инструмент данные временно передаются через sessionStorage.