Перейти к содержанию

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

Конвертер JSON↔YAML преобразует YAML в JSON и JSON в YAML локально с параллельной синхронизацией, проверкой только синтаксиса, сортировкой ключей, контролем отступов, многодокументным YAML и копированием/загрузкой.

Отступ JSON

Отступ YAML

Сортировать ключи объекта

Разбить массив на многодокументный YAML (разделитель ---)

JSON

Символы

0 / 500,000

YAML

Символы

0 / 500,000

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

Быстрый старт

1
Вставьте или введите JSON в левом редакторе, а YAML в правом обновится автоматически.
2
Вы также можете ввести YAML справа, а JSON слева обновится автоматически.
3
Синхронизация полностью двунаправленная. Переключатель режима не требуется: отредактируйте любую сторону, и другая сторона мгновенно обновится.
4
Используйте верхнюю панель инструментов, чтобы установить отступ JSON/YAML, включить сортировку ключей и переключить вывод нескольких документов YAML.
5
Нажмите Tab в редакторе, чтобы вставить отступ вместо перемещения фокуса.
6
В правом верхнем углу каждого редактора есть кнопки «Копировать» и «Очистить». Очистка любой стороны очищает обе стороны.

Частые сценарии

Разработка Kubernetes

конвертируйте манифесты ресурсов K8s между YAML и JSON для проверки структуры из любого представления.

Отладка значений Helm

преобразуйте файлvalues.yaml в JSON для проверки типов и вложенности в вашей IDE.

Конвейеры CI/CD

быстро конвертируйте фрагменты между действиями GitHub (YAML) и системами CI, использующими JSON.

Отладка API

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

Миграция конфигурации

конвертируйте по одному вставленному фрагменту конфигурации, проверяя, как изменяются комментарии, привязки и разделители документов в JSON.

Форматирование и проверка синтаксиса

проверьте синтаксис JSON/YAML посредством двусторонней синхронизации с указанием местоположения ошибки в строке/столбце.

Рекомендации по использованию

Отступ JSON в два пробела работает в большинстве случаев; используйте 4 пробела для файлов глубокой вложенности или файлов значений Helm.
Включите сортировку ключей, чтобы выводить ключи объектов в алфавитном порядке. Так проще сравнивать различия в конфигурации.
Если корень JSON представляет собой массив, включите многодокументный YAML, чтобы разделить каждый элемент на отдельный документ (---), что полезно для файлов K8s с несколькими ресурсами.
Если введенные данные неверны, на отредактированной стороне выделяется строка с ошибкой; наведите курсор или коснитесь, чтобы просмотреть сведения о строке/столбце, и сгенерированная сторона будет очищена вместо отображения устаревшего вывода.
Для большого содержимого сначала вставьте его и дождитесь синхронизации, а затем продолжите редактирование, чтобы избежать чрезмерного повторного преобразования.

Конверсионный контракт

Источником является последний отредактированный редактор. Другой редактор создается заново из него, когда ввод действителен.
Несколько документов YAML становятся массивом JSON. Один документ YAML становится одним значением JSON.
Когда включена поддержка нескольких документов YAML, корневой массив JSON записывается как --- разделенные документы YAML; пустой массив остается как [] для обратимости.
Ключи сортировки рекурсивно меняют порядок ключей объекта перед выводом, что облегчает сравнение, но изменяет порядок ключей, поддерживаемый вручную.
Проверка осуществляется только синтаксически. Этот инструмент не проверяет ресурсы Kubernetes, диаграммы Helm, файлы Open API, схему JSON или правила политики.
Тексты JSON и YAML являются черновиками сеанса; Параметры отступа, сортировки, нескольких документов, номера строки и переноса остаются в настройках устройства.
Ограничения на посетителей/пользователей/подписчиков составляют 500 000./2 000 000 м/5 000 000 м входных символов, 25/100/250 документов YAML, 5 000./20 000./50 000. узлов YAML, 40/80/120 глубина, 50 000./200 000./500 000. узлов JSON, 25 000/100 000/250 000 свойств JSON и выход 16/48/96 МБ.

Границы туда и обратно с потерями

Комментарии YAML удаляются, поскольку в JSON нет поля комментариев.
Якоря, псевдонимы и ключи слияния YAML расширяются до конкретных значений JSON; ссылочная структура не может быть перестроена автоматически.
Стиль кавычек, скалярный стиль блока, маркеры документа и пользовательские теги YAML могут быть созданы повторно или потеряны, поскольку JSON хранит только значения данных.
Большие целые числа по-прежнему соответствуют точности чисел JavaScript. Перед конвертацией укажите идентификаторы Snowflake, 64-битные метки времени и другие точные идентификаторы.
Загрузка файлов, выборка URL, пакетное преобразование файлов, общие ссылки, примеры библиотек, рендеринг Helm, настройка, выражения yq/jq, проверка схемы и многоформатное преобразование находятся за пределами этой страницы.

Ограничения и совместимость

Анализ YAML соответствует спецификации YAML1.2. Поведение старой версии YAML1.1, например автоматическое логическое преобразование да/нет/вкл/выкл, может отличаться.
Числа JSON соответствуют ограничениям JavaScript IEEE 754. Целые числа, превышающие 53-битную безопасную точность, могут потерять точность.
Якоря и псевдонимы YAML(&, *, <<) расширяются до конкретных значений при преобразовании в JSON; ссылки не могут быть сохранены, а расширение псевдонимов имеет ограничения безопасности.
Комментарии YAML, стиль кавычек и скалярный стиль блока могут быть удалены или созданы заново, поскольку JSON не поддерживает эти детали представления.

Конфиденциальность и безопасность

Вся обработка происходит локально в вашем браузере. Текст JSON/YAML представляет собой черновик сеанса; Настройки отступов, сортировки, нескольких документов, номеров строк и переноса остаются на этом устройстве без облачной синхронизации, загрузки URL или удаленной истории.

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

5

Перейдите к следующему шагу с этими связанными инструментами.

Вся обработка инструментов выполняется локально в вашем браузере.