Конвертер YAML в JSON
Вставьте YAML и получите JSON: якоря и ключи слияния раскрыты, а у любой синтаксической ошибки указана точная строка.
Работает полностью в браузере
- Исходный текст
- 0
- Результат
- 0
- Изменение
- 0%
Ввод до 10 МБ. Читается YAML 1.2 только со стандартными типами; пользовательские теги вроде !!python/object отклоняются, а не выполняются.
Как преобразовать YAML в JSON
- Вставьте YAML в поле или нажмите Вставить пример.
- Выберите оформление JSON: 2 пробела, 4 пробела, табуляцию или Минифицировать.
- Если в YAML есть синтаксическая ошибка, вы увидите её строку и столбец. В противном случае скопируйте JSON или скачайте его как файл
.json.
От YAML к JSON
YAML и JSON описывают данные одного и того же рода: отображения, списки и простые значения. YAML пишут люди, с отступами вместо фигурных скобок, комментариями и такими сокращениями, как якоря; JSON — то, чего ожидает большинство программ и API. Преобразование между ними распространено, когда манифест Kubernetes, файл Compose или описание OpenAPI нужно передать тому, что читает только JSON.
У некоторых возможностей YAML нет эквивалента в JSON, поэтому конвертер их раскрывает. Якорь (&base) помечает блок, который может использовать алиас (*base), а ключ слияния (<<) копирует записи отображения в другое; в JSON каждый из них превращается в полную копию. Комментарии отбрасываются, потому что JSON не может их хранить. Файл с несколькими документами, разделёнными ---, становится массивом JSON.
Правила типов соответствуют YAML 1.2: true и false — логические значения, null и ~ — null, числа — числа, а всё остальное, включая yes и 2024-05-01, — текст. У синтаксических ошибок указаны строка и столбец, а чаще всего их причины — табуляция вместо пробелов в отступе, повторяющийся в одном отображении ключ и значение, не сдвинутое под своим ключом.
Советы
- Нужно в обратную сторону? «JSON в YAML» заключает в кавычки значения вроде «yes», чтобы они пережили преобразование.
- Проверьте или приведите в порядок результат с помощью «Форматирования и проверки JSON».
- Есть табличные данные? «CSV в JSON» подходит для электронных таблиц.
Вопросы и ответы
Загружается ли мой YAML?
Нет. Разборщик YAML загружается с этого сайта при первой вставке и работает в вашем браузере. Конфигурация с паролями или ключами никуда не отправляется.
Почему yes остаётся текстом «yes»?
Этот инструмент следует YAML 1.2, где логическими значениями являются только true и false. Слова yes, no, on и off остаются строками, что позволяет избежать так называемой проблемы Норвегии, когда код страны NO превращается в false в парсерах YAML 1.1. Если ваш потребитель — парсер YAML 1.1, он может прочитать эти слова иначе.
Что происходит с датами и метками времени?
Значение вроде 2024-05-01 сохраняется как строка «2024-05-01». В JSON нет типа даты, а преобразование её в число или другой формат привело бы к потере информации.
Что насчёт очень больших целых чисел?
Целые числа больше 9 007 199 254 740 991 (253 − 1) записываются цифра в цифру, а не округляются, поэтому идентификатор вроде 12345678901234567890 сохраняется. Учтите, что программа, которая позже прочитает JSON обычными числами JavaScript, округлит его.
Поддерживаются ли якоря, алиасы и ключи слияния?
Да. Якоря &name и алиасы *name раскрываются, а <<: *name сливает отображение с другим. Поскольку в JSON нет ссылок, каждый алиас записывается полностью.
Что за предел алиасов и ограничение в 20 МБ?
Небольшой файл YAML может использовать алиасы, которые раскрываются во что-то огромное; это называется алиас-бомбой. Файлы с более чем 10 000 алиасов отклоняются, а преобразование останавливается, если JSON превысит 20 МБ, чтобы ваша вкладка не зависла.