Config Lab · local parser

Форматер и конвертер JSON/YAML

Проверяйте структуру, меняйте формат и готовьте конфигурации без отправки данных на сервер.

Только в браузере JSON · YAML 1.2
CONFIG / TRANSFORMЗагрузка локального парсера…
01

Исходные данные

Вставьте один документ JSON или YAML

AUTO
0 строк · 0 символов
02

Готовый документ

Форматированный результат для копирования

YAML
0 строк · 0 символов
Готов к работеВставьте JSON или YAML

Документы не покидают браузер

Справочник форматов

Как перейти между JSON и YAML без сюрпризов

Оба формата описывают структуры данных, но YAML хранит больше особенностей представления. Конвертация сохраняет данные, а не внешний вид исходного файла.

Соответствие типов

Одна структура — разная запись

RFC 8259 определяет 2 составных и 4 примитивных типа JSON. При переводе они сопоставляются с коллекциями и скалярами YAML.

Механика конвертации

Парсер сохраняет смысл, не оформление

Инструмент сначала разбирает текст в значения JavaScript, затем заново сериализует их в выбранный формат. Именно поэтому комментарии и авторское форматирование не проходят через середину процесса.

Практика

Где пригодится преобразование

Docker Compose

Приведите JSON-конфигурацию сервиса к читаемому YAML и вручную проверьте переменные окружения и секреты.

services: → app: → image:

Kubernetes

Разберите объект API из JSON-ответа и получите YAML-заготовку. Удалите служебные поля перед применением.

apiVersion · kind · metadata

API и тесты

Минифицируйте JSON для запроса или превратите YAML-фикстуру в строгий JSON для клиента без YAML-парсера.

request → validate → fixture
JSON · API response
{
  "service": "toolkitch",
  "ports": [80, 443],
  "enabled": true
}
YAML · config file
service: toolkitch
ports:
  - 80
  - 443
enabled: true

Границы форматов

Пять мест, где легко ошибиться

01

Комментарии

JSON их не поддерживает. В YAML комментарий начинается с #, но относится к представлению, а не данным.

02

Ключи и кавычки

В JSON имена полей всегда в двойных кавычках. YAML часто допускает запись без кавычек.

03

Дубли ключей

Имена объекта JSON должны быть уникальными для совместимости. Разные парсеры иначе обрабатывают повторы по-разному.

04

Якоря YAML

&anchor и *alias сокращают YAML, но при конвертации могут развернуться в повторяющиеся значения.

05

Несколько документов

Этот инструмент принимает один документ. Поток YAML с несколькими разделителями --- нужно разделить заранее.

06

Секреты

Обработка локальная, но скачанный или скопированный файл всё равно может содержать токены и пароли.

Быстрое сравнение

Какой формат выбрать

КритерийJSONYAML
Основной сценарийAPI, обмен между программамиКонфигурации, редактируемые человеком
КомментарииНетДа, но не переносятся в модель данных
Строгость записиКавычки и запятые обязательныОтступы определяют структуру
Несколько документовОдин JSON-текстВозможен поток документов
КомпактностьПредсказуемая, легко минифицируетсяОбычно короче при ручном чтении

Первоисточники

Спецификации и парсер

FAQ

Частые вопросы

Можно ли преобразовать JSON в YAML и обратно?

Да. Структурные и примитивные значения переводятся в обе стороны. Выберите формат результата и нажмите «Преобразовать».

Почему исчезли комментарии YAML?

Комментарии относятся к представлению документа и не входят в разобранную модель данных. При повторной сериализации они не восстанавливаются.

Что делает кнопка «Форматировать»?

Она разбирает исходный документ и собирает его заново в том же формате с выбранным отступом.

Почему YAML не преобразуется?

Проверьте отступы, закрывающие скобки flow-коллекций и наличие второго документа после ---. Строка и столбец ошибки появятся в статусе.

Отправляются ли документы на сервер?

Нет. Модуль js-yaml загружается с ToolKitch, а разбор и сериализация выполняются локально.