Бесплатный конвертер

YAML to JSON Converter

Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.

Или

Об этом инструменте

YAML и JSON — тесно связанные форматы — JSON технически является строгим подмножеством YAML 1.2 — и преобразование между ними обычно несложно. YAML добавляет удобные для пользователя функции, которых нет в JSON: комментарии, многострочные строки без экранирования, ссылки на привязки и псевдонимы, более гибкое цитирование и структуру на основе отступов, напоминающую естественный макет документа. Это делает YAML популярным выбором для файлов конфигурации (манифесты Kubernetes, рабочие процессы GitHub Actions, Docker Compose), в то время как JSON доминирует в полезных нагрузках API.

Преобразование YAML в JSON обычно означает отказ от удобных для человека дополнений YAML в обмен на формат, который машинам легче анализировать и который является лингва-франка API-интерфейсов HTTP. Комментарии удалены (в JSON их нет). Ссылки на привязки преобразуются в их референтные значения. Многострочные строки сворачиваются в стандартные строки JSON со встроенными символами новой строки.

Этот конвертер анализирует YAML с помощью js-yaml, наиболее широко используемой библиотеки YAML в JavaScript. Вывод генерируется с использованием JSON.stringify с необязательным отступом. Преобразование обрабатывает весь стандартный синтаксис YAML 1.2, включая стиль потока, стиль блока, скаляры, последовательности, сопоставления, привязки, псевдонимы и стандартные типы тегов.

Зачем конвертировать YAML в JSON

Большинство API и многие среды программирования ожидают JSON. Файлы конфигурации, написанные в формате YAML, необходимо преобразовать в JSON при интеграции с кодом или службами, которые принимают только JSON. Инструментов для JSON также больше: jq, JSON Path, JSON Schema и широкая экосистема валидаторов и преобразователей — все они предполагают входные данные JSON.

JSON также однозначен, в отличие от YAML. Гибкость YAML создает сюрпризы при синтаксическом анализе — строки типа «no» анализируются как логическое значение false в YAML 1.1, строки версий анализируются как числа с плавающей запятой, ошибки отступов приводят к скрытым структурным изменениям. Преобразование в JSON замораживает данные в менее двусмысленной форме.

Как использовать

Вставьте YAML, получите JSON.

  1. Добавьте свой YAML: Вставьте текст YAML в область ввода или перетащите файл .yml/.yaml. js-yaml принимает полный синтаксис YAML 1.2.
  2. Конвертировать: js-yaml анализирует YAML в объект JavaScript, а JSON.stringify сериализует его с отступом в два пробела. Комментарии удаляются, привязки разрешаются, а специальные типы YAML (метки времени, двоичные данные) преобразуются в представления, совместимые с JSON.
  3. Обзор результата: Убедитесь, что структура JSON соответствует вашим ожиданиям. Сравните с исходным YAML, чтобы определить места, где небрежная типизация YAML привела к неожиданным значениям JSON.
  4. Скачать или скопировать: Сохраните как .json или скопируйте в буфер обмена. Вывод является действительным JSON, который может быть использован любым анализатором JSON.

Общие случаи использования

Технические детали

js-yaml реализует YAML 1.2 с дополнительной поддержкой особенностей YAML 1.1 (проблема «нет» как ложного, восьмеричные числа без префикса 0o). Анализатор создает дерево объектов JavaScript, используя собственные типы: числа, строки, логические значения, значения NULL, массивы и простые объекты.

JSON.stringify сериализует дерево объектов в JSON. Необязательный отступ позволяет получить красивый печатный результат; без него результатом будет компактный однострочный JSON. Специальные значения (NaN, бесконечность, неопределенное) не являются допустимыми JSON; преобразователь приводит их к нулю там, где они присутствуют.

Крайние случаи: временные метки YAML становятся строками ISO-8601 в JSON. Двоичные данные YAML (в кодировке Base64) становятся строкой. Привязки и псевдонимы преобразуются в повторяющиеся значения в JSON, поскольку JSON не имеет ссылочного синтаксиса.

Лучшие практики

Часто задаваемые вопросы

Изменяет ли преобразование YAML в JSON содержимое?
Содержимое сохраняется максимально точно. Однако некоторые функции, специфичные для формата, могут не иметь прямых эквивалентов, поэтому могут возникнуть незначительные различия в форматировании.
Зачем конвертировать данные в формат JSON?
JSON — это стандартный формат данных для веб-API и приложений JavaScript. Он удобен для чтения человеком, широко поддерживается языками программирования и имеет более простой синтаксис, чем XML.
Обрабатывает ли конвертер вложенные или сложные структуры YAML?
Да. Инструмент правильно анализирует вложенные объекты, массивы и все стандартные типы данных YAML, сохраняя полную структуру данных в выходных данных JSON.
Является ли это преобразование безопасным и конфиденциальным?
Да. Вся обработка происходит локально в вашем браузере. Ваши данные никогда не покидают ваше устройство — ни загрузка на сервер, ни обработка в облаке, ни сбор данных.
Будет ли мой YAML передаваться туда и обратно чисто?
Структурно да, если вы повторно отправите JSON обратно в YAML. Комментарии и структура привязки теряются; необработанные значения сохраняются.
Загружены ли мои данные на сервер?
Нет. js-yaml запускается в вашем браузере.
Каков максимальный размер?
До 50 МБ. js-yaml мгновенно обрабатывает типичные файлы конфигурации; анализ очень большого YAML-файла может занять значительное время.
Поддерживает ли он многодокументный YAML?
YAML поддерживает несколько документов в одном файле, разделенных ---. Конвертер по умолчанию обрабатывает первый документ; для обработки нескольких документов сначала разделите YAML.