Руководство

Как преобразовать YAML в JSON с настройкой отступов

Вставьте YAML-текст, настройте отступы и при необходимости сортировку ключей, затем запустите преобразование. В результате получится JSON-текст, а пустой ввод даст пустой JSON-объект.

Инструмент Конвертер YAML в JSON

Что делает конвертер YAML в JSON

Конвертер YAML в JSON помогает получить JSON-текст из конфигурации, списка или вложенной структуры YAML, когда результат нужен для дальнейшей проверки, передачи или публикации в другом формате. Вы вставляете исходный текст, выбираете оформление JSON и запускаете преобразование. Поддерживаются отображения, вложенные отображения и последовательности: значения YAML разбираются и затем сериализуются как JSON.

Инструмент подходит для разовых преобразований, когда исходник уже подготовлен в YAML. Отдельно можно настроить величину отступа в результате и включить сортировку ключей объектов. По умолчанию для JSON используется отступ в два пробела, а сортировка ключей выключена. Эти параметры меняют представление результата, но не превращают инструмент в универсальный конвертер JSON обратно в YAML.

Как преобразовать YAML в JSON

  1. Подготовьте текст YAML. Проверьте отступы, двоеточия, списки и вложенность до запуска преобразования. Если исходный текст состоит только из пробелов или не содержит символов, отдельная подготовка не нужна: такой ввод обрабатывается как пустой.

  2. Вставьте YAML в поле ввода. Передавайте именно YAML-текст, а не JSON и не описание файла. Для обычного документа начните с корневого отображения или последовательности. Если текст начинается с --- и далее содержит перевод строки с ещё одним ---, конвертер распознаёт несколько документов. Пустые документы между ними не учитываются; несколько оставшихся документов формируют JSON-массив, один оставшийся документ возвращается как отдельное значение.

  3. Настройте отступы JSON. Оставьте значение по умолчанию, если нужен привычный многострочный результат с двумя пробелами, или выберите другое доступное значение для более компактного либо более подробного оформления. Настройка относится к отступам готового JSON, а не к разбору YAML.

  4. При необходимости включите сортировку ключей. Используйте её, когда порядок полей в JSON должен быть упорядочен для просмотра или сравнения. Если сортировка не нужна, не меняйте этот параметр: по умолчанию она отключена.

  5. Запустите преобразование и прочитайте полученный JSON-текст. Для пустого или состоящего из пробелов ввода результатом будет пустой JSON-объект. Для корректного YAML с отображением получится JSON-объект, а для последовательности - JSON-массив.

  6. Если успешного результата нет, вернитесь к исходному YAML и проверьте синтаксис. Ошибка может быть связана с некорректной структурой YAML. Если синтаксис исправен, причиной также может стать значение, которое нельзя сериализовать в JSON. После исправления повторите преобразование.

Как читать результат и учитывать границы

Успешный результат представляет собой текст в формате JSON. Вложенные отображения сохраняют вложенность в виде объектов, а последовательности становятся массивами. Поэтому проверяйте не только внешний вид, но и тип корневого значения: один документ может дать объект или массив, а несколько непустых документов возвращаются массивом документов.

Пустой ввод не означает сбой. Если поле не содержит символов, кроме пробелов, конвертер успешно выдаёт пустой JSON-объект. Это полезно учитывать при автоматической проверке результата, чтобы не принять такой ответ за пропущенное сообщение об ошибке.

Отступы влияют на читаемость JSON-текста. Сортировка ключей влияет на порядок полей объектов, но не добавляет отсутствующие поля и не меняет YAML в другой формат. Преобразование также не следует воспринимать как средство сохранения исходного оформления: результат строится после разбора YAML и выдаётся как JSON-текст.

Например, для конфигурации сервиса с вложенным блоком параметров и последовательностью портов можно вставить исходный YAML, выбрать четыре пробела и включить сортировку ключей. Проверяемая форма результата в этом случае - JSON-объект с вложенным объектом параметров и массивом портов; конкретные значения будут зависеть от переданного текста. Если вместо одного документа передать два непустых документа с разделителями, ожидаемая форма результата - массив JSON-документов.

Если преобразование завершилось неуспешно, не используйте неполный или невыданный текст как готовый JSON. Сначала исправьте YAML либо замените значение, которое не поддаётся сериализации, затем запустите проверку повторно.

Практический пример

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

Вставьте конфигурацию сервиса с вложенными параметрами и списком портов, выберите четыре пробела и включите сортировку ключей, затем запустите преобразование.

JSON-объект с вложенным объектом параметров и массивом портов; при двух непустых документах результат имеет форму JSON-массива.

Ограничения

  • Некорректный YAML или значение, которое нельзя сериализовать как JSON, приводит к неуспешному преобразованию.

Частые ошибки

  • Ошибка: в исходном тексте нарушена структура YAML, например сбилась вложенность. Исправьте отступы и синтаксис, затем повторите преобразование.

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

Что произойдёт, если оставить поле YAML пустым?

Да. Пустой или состоящий только из пробелов ввод успешно обрабатывается и даёт пустой JSON-объект.

Можно ли преобразовать многочастный YAML?

Несколько документов поддерживаются при разделителях ---: если после удаления пустых документов остаётся больше одного, результатом становится JSON-массив. При одном оставшемся документе возвращается он сам.

Преобразует ли инструмент JSON обратно в YAML?

Нет, этот инструмент принимает YAML-текст и преобразует его в JSON-текст. Обратное преобразование из JSON в YAML его проверенными возможностями не заявлено.

Инструмент

Конвертер YAML в JSON