Конвертер YAML в JSON
Превратите файлы YAML в корректный JSON.
Работает в браузере. То, что вы вводите, никуда не отправляется.
- Файлы с несколькими документами
- Точное место ошибки
- Ничего не загружается
Как конвертировать YAML в JSON
- Вставьте свой YAML или загрузите файл .yaml или .yml.
- Исправьте любую ошибку по указанной строке и столбцу.
- Скопируйте JSON или скачайте его.
Пример: YAML на входе, JSON на выходе
| Строка YAML | JSON |
|---|---|
| name: Sam | "name": "Sam" |
| age: 30 | "age": 30 |
| active: true | "active": true |
| tags: [a, b] | "tags": ["a", "b"] |
Возможности YAML, которые здесь сохраняются
- Якоря (&name) и алиасы (*name) разворачиваются в полные копии значения, на которое ссылаются.
- Флоу-стиль, вроде встроенного {a: 1} или [1, 2], разбирается так же, как эквивалентный блочный стиль.
- Несколько документов, разделённых строкой из трёх дефисов, становятся одним JSON-массивом, по порядку.
- Комментарии, начинающиеся с #, отбрасываются, ведь в JSON нет синтаксиса комментариев, куда их можно перенести.
Частые ошибки YAML
| Симптом | Вероятная причина |
|---|---|
| Ошибка неверного отступа | Символ табуляции или строка со сдвигом на один пробел от предыдущей |
| Неожиданный конец потока | Кавычка или скобка, оставленная открытой где-то раньше |
| Значение неожиданно становится true или false | Голое yes, no, on или off, написанное без кавычек |
Где помогает YAML в JSON
- Чтение точных значений манифеста Kubernetes в формате, который уже понимает ваш скрипт.
- Отладка файла CI-пайплайна через просмотр его разобранной структуры вместо необработанных отступов.
- Передача конфигурации YAML в инструмент или API, который принимает только JSON.
Частые вопросы о YAML в JSON
Что происходит с несколькими документами YAML в одном файле?
Документы, разделённые строкой из трёх дефисов, конвертируются по отдельности и возвращаются вместе как один JSON-массив, по порядку.
Почему я получаю ошибку неверного отступа?
YAML определяет структуру по отступам, поэтому строка со сдвигом на один пробел или табуляция вместо пробелов ломают разбор. В ошибке названы строка и столбец, а "Перейти к ошибке" выделяет их.
Поддерживаются ли якоря и алиасы?
Да. Значение, отмеченное якорем с амперсандом и повторно используемое через алиас со звёздочкой, копируется в каждое место использования.
Что происходит с датами?
Даты вроде 2024-05-01 сохраняются как текст, ведь в JSON нет типа даты.
Можно вставить YAML, где отступ сделан табуляцией?
Нет. YAML требует пробелы для отступов, поэтому табуляция вызывает ошибку неверного отступа на точной строке. Замените её на 2 пробела и попробуйте снова.
Что происходит с повторяющимся ключом в карте YAML?
Побеждает последнее записанное значение для повторяющегося ключа, ведь именно так базовый парсер разрешает карту перед превращением её в JSON.
Можно конвертировать файл YAML, который подключает другой файл?
Нет. Пользовательские теги вроде !include, которые используют некоторые обработчики YAML, зависят от доступа к файловой системе, которого нет у этого браузерного инструмента. Обычный YAML без пользовательских тегов конвертируется нормально.
Обрабатываются ли явные теги типов, вроде !!str или !!int?
Да, распространённые явные теги читаются и конвертируются в соответствующий тип JSON вместо угадывания по форме значения.