Инструменты разработчика

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

Преобразуйте JSON в YAML или YAML в JSON локально, с вложенными массивами, строками и точными числами.

Ваши данные

Преобразование данных YAML 1.2. Комментарии и форматирование не сохраняются. Лимит: 2 MiB.

Ваши результаты

Преобразуйте JSON и YAML с нужными типами данных

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

Пошаговая инструкция

  1. Вставьте текст или откройте локальный файл JSON, YAML, YML либо TXT в UTF-8. Явно выберите JSON → YAML или YAML → JSON; открытие файла не определяет направление.
  2. Выберите два или четыре пробела и при необходимости сортировку ключей объектов. Обработайте данные и устраните ошибки синтаксиса или неподдерживаемых функций. Сортировка рекурсивная, лексикографическая и учитывает регистр; порядок массивов сохраняется.
  3. Проверьте строки, логические значения, null и числа, затем скопируйте, распечатайте или скачайте converted.yaml либо converted.json. Если меняете данные или настройки, обработайте снова, поскольку старый результат очищается. Проверьте преобразованный файл в приложении, которое будет его использовать.

Настройки и ограничения

Типы и правила документа
Используйте один документ YAML 1.2 с уникальными строковыми ключами и совместимыми с JSON значениями. Заключайте похожие на числа идентификаторы, например "00123", в кавычки; YAML 00123 без кавычек становится числом 123. Значения yes, on без кавычек и текст даты ISO остаются строками по базовым правилам.
Псевдонимы и неподдерживаемые функции
Ациклические псевдонимы разворачиваются в повторяющиеся значения. Циклы, повторные ключи, нестроковые ключи, неподдерживаемые теги и неконечные числа отклоняются. Ключи слияния YAML не применяются: <<: *base становится обычным свойством "<<", поэтому сначала разверните предполагаемые наследуемые поля.
Размер и сложность
Входные данные ограничены 2 MiB текста UTF-8: 2,097,152 байта. Вывод ограничен 8 MiB. Обработка также останавливается при превышении 128 уровней вложенности, 200,000 узлов значений или 100 обращений к псевдонимам; даже небольшой файл может превысить эти ограничения.

Разбор примера

Скачайте types-example.json и выберите JSON → YAML с отступом в два пробела и выключенной сортировкой. Преобразуйте и сравните с types-example.yaml. Заключённые в кавычки id и word остаются строками, enabled остаётся false, а retries и large — числами.

Скачать файлы примера

Пример исходных данных

{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}

Ожидаемый результат

"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993

Теперь откройте types-example.yaml, явно переключитесь на YAML → JSON и обработайте снова. id должен остаться "00123", а большое целое — 9007199254740993. Удалите кавычки вокруг 00123 в YAML и повторите: значение становится числом 123. Эта разница важна для идентификаторов, даже когда оба файла корректны.

Вопросы и устранение неполадок

Почему JSON с повторяющимися ключами здесь не принимается, а в другом инструменте форматируется?

Форматтер JSON может предупреждать о повторных ключах и сохранять их. Этот конвертер отклоняет их, поскольку преобразование в отображение ключей и значений могло бы изменить смысл. Решите, какое значение должно быть в исходнике, и удалите повтор перед преобразованием.

Сохранятся ли комментарии и наследование YAML?

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

Безопасны ли большие числа в приложении назначения?

Конвертер сохраняет поддерживаемую запись чисел и значения больших целых, но последующая программа может разобрать их с меньшей точностью. Используйте строку в кавычках, если похожее на число значение — идентификатор, и проверьте парсер приложения назначения.