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

Наш калькулятор віку та конвертер YAML у JSON розбирає будь-який дійсний документ YAML 1.2 та видає відповідний JSON у реальному часі. Вставте маніфест Kubernetes, файл Docker Compose, playbook Ansible або специфікацію OpenAPI та миттєво побачите результат у форматі JSON із збереженням типів (числа залишаються числами, true/false залишаються булевими значеннями, null залишається null) та видаленням коментарів. Перевірка виявляє помилки відступів, двозначність типів та непідтримуваний синтаксис (якірні посилання, багатодокументні потоки) із зрозумілими повідомленнями. Усе працює у вашому браузері, тому конфіденційні дані та конфігурації не залишають ваш пристрій. Використовуйте його для тіла запитів API, програмної обробки конфігурацій або будь-яких інструментів, що споживають JSON замість YAML.

star 4.9
auto_awesome AI
New

YAML у JSON calculator

info Paste YAML to convert to JSON
0 lines 0 B 0 keys depth 0

lightbulb Tips

  • •YAML 1.2: only `true`/`false` are booleans (no yes/no)
  • •Comments (#) are stripped — JSON has no comment syntax
  • •Anchors (&name) and aliases (*name) get expanded inline
  • •Multi-document streams (---) need to be split first
  • •Tabs in indentation cause parse errors — use spaces only

Як конвертувати YAML у JSON за 3 кроки: Вставити, Розібрати, Скопіювати

content_paste

Вставте YAML

Вставте будь-який документ YAML 1.2 — маніфест Kubernetes, файл Compose, плейбук Ansible, специфікацію OpenAPI або власний конфіг. Парсер виконує валідацію під час введення.

swap_horiz

Конвертувати

JSON з'являється миттєво зі значеннями правильних типів (числа залишаються числами, true/false залишаються булевими), очищеними коментарями та розгорнутими всередині якорями. Виберіть вихід із відступами у 2 пробіли, 4 пробіли або мініфікований.

content_copy

Скопіювати або завантажити

Натисніть «Скопіювати» для буфера обміну або «Завантажити», щоб зберегти як файл `.json`, готовий для тіл запитів API, kubectl apply через stdin або програмної обробки конфігурації.

fact_check

Перевірити валідність

Некоректний YAML показує помилку парсингу з рядком і стовпцем. Типові виправлення: замініть табуляцію пробілами, виправте відступи, візьміть у лапки неоднозначні рядки.

The Formula

Конвертація YAML у JSON парсить текст YAML у структуру в пам'яті (блокові карти → об'єкти, послідовності → масиви, скаляри → типізовані значення), а потім повторно виводить її як JSON. Виведення типів відповідає базовій схемі YAML 1.2: чисті `true`/`false` → boolean, `null`/`~` або порожньо → null, регулярний вираз цілого числа/числа з плаваючою комою → number, все інше → string (рядки в лапках завжди залишаються рядками). Коментарі (`#`) видаляються. Якорі (`&`/`*`) розгортаються вбудовано. Гарантується безпека зворотного перетворення: парсинг JSON назад у YAML дає ту саму модель даних (без коментарів та спільних якорів).

parse YAML(input) → JSON.stringify(parsed, null, indent)

lightbulb Variables Explained

  • input Необроблений рядок YAML 1.2 (блокові карти, послідовності та скаляри)
  • parse YAML() Токенізує за відступами, обходить дерево, визначає типи відповідно до базової схеми YAML 1.2
  • JSON.stringify() Виводить канонічний JSON відповідно до RFC 8259 з вибраними відступами
  • indent Кількість пробілів на рівень у вихідному JSON (0 = мініфікований)

tips_and_updates Pro Tips

1

Логічні значення у YAML 1.2 — це ТІЛЬКИ true/false, а `yes`, `no`, `on`, `off` є рядками (на відміну від YAML 1.1, де вони були булевими)

2

Порожні значення стають null у JSON — явно вказуйте `null` або `~`, щоб намір був зрозумілим перед конвертацією

3

Рядки в лапках у YAML залишаються рядками у JSON, навіть якщо вони виглядають як числа (`"01234"` залишається рядком)

4

Коментарі (`#`) видаляються — у JSON немає підтримки коментарів; зберігайте їх у вихідному коді YAML, якщо вони вам потрібні

5

Якірні посилання (`&name`) та псевдоніми (`*name`) розгортаються інлайн — вихідний JSON є повністю вирішеним, без спільних посилань

6

Багатодокументні потоки YAML (розділені `---`) потрібно розділити перед конвертацією — JSON є однодокументним

7

Для використання в API віддавайте перевагу мінімізованому JSON (без відступів), щоб зменшити розмір даних на 20-60%

8

Зворотне перетворення YAML → JSON → YAML призводить до втрати коментарів і структури якорів, але модель даних зберігається

9

Перевірте вихідний JSON за допомогою схеми JSON Schema, якщо ваш подальший сервіс висуває суворі вимоги до типів полів

10

Для дуже великих файлів YAML (10 МБ+) краще використовувати інструменти командного рядка на кшталт `yq -o json input.yaml`, ніж конвертацію у браузері

Миттєво конвертуйте будь-який коректний документ YAML 1.2 у чистий JSON — вставляйте, парсіть, копіюйте. Конвертер підтримує глибоку вкладеність, правильно визначає типи відповідно до базової схеми YAML 1.2 (тільки `true`/`false` є логічними значеннями, без помилки Норвегії), видаляє коментарі, розгортає якорі вбудовано та виводить канонічний JSON згідно з RFC 8259. Усе працює у вашому браузері, тому секрети Kubernetes, API-ключі та корисне навантаження JWT ніколи не залишають вашого пристрою. Нижче описано: як працює конвертація під капотом, важливі для DevOps відмінності між YAML та JSON, шаблони конвертації для Kubernetes / Docker Compose / Ansible / OpenAPI, поширені підводні камені YAML (помилка Норвегії, помилки табуляції, розгортання якорів) та шпаргалка для безпечного зворотного перетворення.

Онлайн-конвертер YAML у JSON: миттєве перетворення будь-якого YAML у JSON

Вставте коректний YAML — маніфест Kubernetes, файл Compose, плейбук Ansible, специфікацію OpenAPI або будь-який документ YAML 1.2 — і конвертер видасть еквівалент JSON у режимі реального часу.\n\nКонвертація повністю виконується у вашому браузері за допомогою парсера YAML 1.2, після чого відбувається обхід розпарсеного дерева з виведенням JSON через JSON.stringify (згідно з ECMA-404 / RFC 8259).\n\nВиберіть стиль виводу:\n\n- 2 пробіли (за замовчуванням, зручний для читання)\n- 4 пробіли (деякі корпоративні бази коду)\n- мініфікований (API, мережеві запити)\n\nРезультат готовий для вставки у файл `.json` або передачі через конвеєр у `kubectl apply -f -` (який приймає JSON через стандартний ввід). Права панель показує кількість байтів і рядків у реальному часі, щоб ви могли перевірити розмір перед збереженням.

Як конвертувати YAML у JSON: 3-кроковий робочий процес для розробників

Конвертація YAML у JSON складається з трьох кроків:\n\n- Крок 1: Вставте ваш YAML у редактор. Парсер виконує валідацію під час введення — некоректний YAML показує точну помилку парсингу з рядком і стовпцем.\n- Крок 2: Результат JSON з'являється в реальному часі у правій панелі. Натискати кнопку не потрібно; кожен символ оновлює результат.\n- Крок 3: Натисніть «Копіювати» (у буфер обміну) або «Завантажити» (файл `.json`).\n\nДля програмних робочих процесів та сама логіка доступна через кінцеву точку `/api/calculate` — надішліть POST-запит із YAML і отримайте JSON у тілі відповіді.\n\nБезпека зворотного перетворення: конвертуйте JSON назад у YAML за допомогою нашого інструменту-побратима «Конвертер JSON у YAML»; модель даних зберігається повністю (коментарі та якорі підтримуються лише в YAML і не зберігаються при зворотному перетворенні).

YAML проти JSON: ключові відмінності в синтаксисі, коментарях та обробці типів

YAML та JSON представляють одну й ту саму модель даних — карти (об'єкти), послідовності (масиви) та скаляри (рядок/число/bool/null) — але з дуже різним синтаксисом.\n\nYAML базується на відступах: вкладеність визначається відступом у 2 пробіли, послідовності використовують префікс `- `, а більшість рядків не потребують лапок. JSON перевантажений дужками та лапками: кожен ключ береться в `"`, кожна карта отримує `{}`, кожен масив — `[]`, а кожен роздільник є явним (`:` та `,`).\n\nYAML підтримує коментарі (`#`), якорі та аліаси для повторного використання (`&name` / `*name`), потоки з кількох документів (`---`) та явні теги типів (`!!str`, `!!int`) — переваги, які роблять його чудовим вибором для конфігурацій під контролем версій. JSON парситься у 5–10 разів швидше, не має двозначностей і є ідеальним вибором для API та зберігання даних.\n\nКонвертуйте на межі систем: YAML для людей, JSON для машин.

Конвертація вкладеного YAML у JSON: карти, послідовності та глибокі дерева

Глибока вкладеність — це саме те, де конвертація YAML у JSON показує себе найкраще, адже відстежувати відступи вручну на 5+ рівнях дуже легко з помилками. Конвертер рекурсивно обходить розпарсене дерево YAML.\n\n- Для кожної блокової карти ключі виводяться в порядку джерела із синтаксисом JSON `"ключ": значення`; вкладені значення отримують фігурні дужки `{...}`.\n- Для кожної блокової послідовності елементи виводяться як масиви JSON `[...]`; вкладені об'єкти під символом `-` стають елементами масиву `{...}`.\n\nЗмішані структури — послідовності карт, карти, що містять послідовності карт, рекурсивно — все конвертується правильно. Максимальна глибина обмежена лише стеком викликів вашого браузера (~10 000+ фреймів у сучасних браузерах, що значно перевищує будь-ку реальну конфігурацію).\n\nПротестуйте на власних прикладах: розпарсіть вихідний JSON назад у YAML і переконайтеся у структурній відповідності з оригіналом.

Визначення типів у YAML: логічні значення, числа, Null та проблема Норвегії

Неточне визначення типів у YAML є джерелом багатьох помилок у реальних конфігураціях. YAML 1.2 (сучасний стандарт, на який орієнтований цей конвертер) звузив правила для більшої безпеки.\n\n- Логічні значення (Booleans): ТІЛЬКИ `true` та `false` (без урахування регістру). YAML 1.1 також сприймав `yes`/`no`/`on`/`off` як логічні значення, що призвело до відомої помилки з кодом країни Норвегії `NO` (який тихо перетворювався на `false`) — так звана «проблема Норвегії». Більшість сучасних парсерів (js-yaml, PyYAML 6+, Snakeyaml) за замовчуванням використовують поведінку версії 1.2.\n- Null: `null`, `~` або порожнє значення стають JSON null.\n- Числа: цифрові шаблони, що відповідають синтаксису цілих чисел або чисел із плаваючою комою в JSON, стають числами JSON; все інше залишається рядком.\n- Рядки: значення в лапках завжди залишаються рядками. Числові рядки, такі як поштові індекси (`"01234"`) та календарні дати, потребують лапок у YAML, щоб успішно пройти конвертацію. Наприклад, якщо конфігурація містить дату або часові дані, які ви розрахували через калькулятор років чи калькулятор годин (скажімо, виконуючи підрахунок годин, налаштовуючи зворотний відлік, використовуючи калькулятор дробів для точних пропорцій, або визначаючи вік за датою народження, щоб дізнатися скільки років людини по даті народження, чи прагнучи порахувати скільки років минуло, або ж просто з'ясовуючи для себе «скільки мені років» через калькулятор віку чи інший розрахунок віку, щоб дізнатися точну кількість років — тобто скільки років), обов'язково візьміть це значення в лапки, щоб парсер зберіг його як є, а не примусово приводив типи.\n\nКонвертер суворо дотримується цих правил.

Конвертація YAML-маніфестів Kubernetes у JSON для K8s API

Kubernetes приймає як YAML, так і JSON через свій API-сервер, kubectl та клієнтські бібліотеки. Більшість команд зберігають YAML у системі контролю версій (пулл-реквести простіше переглядати), але передають JSON у програмні інструменти — кастомні контролери, конвеєри GitOps, Helm post-renderers або вебхуки.

Вставте свій маніфест (Pod, Deployment, Service, ConfigMap тощо) і скопіюйте отриманий JSON. Конвертер зберігає ієрархію apiVersion, kind, metadata та spec у порядку полів. Kubernetes очікує ключі у форматі camelCase, тому якщо ви переносите поля з джерела у форматі snake_case, конвертер регістру виправить імена перед вставкою.

Перед комітом виконайте перевірку за допомогою `kubectl apply --dry-run=client -f -` (яка приймає JSON через стандартний ввід stdin). Для маніфестів із кількома ресурсами, розділеними `---`, спочатку розбийте їх на окремі документи — JSON не підтримує синтаксис кількох документів в одному файлі.

Конвертація YAML з Docker Compose, Ansible та CI/CD у JSON

Три поширені варіанти використання поза межами Kubernetes:

  • Docker Compose: вставте `docker-compose.yaml` та скопіюйте JSON для таких інструментів, як Kompose (мігрує Compose у K8s), кастомних оркестраторів або програмного перетворення конфігурацій.
  • Ansible: конвертуйте плейбуки у JSON для інструментів документування, кастомних інтеграцій CI або API REST/GraphQL, які зберігають визначення плейбуків.
  • Конвеєри CI/CD: GitHub Actions (`.github/workflows/*.yml`), GitLab CI (`.gitlab-ci.yml`), CircleCI, Travis — конвертуйте будь-які з них у JSON для аналітики, програмного редагування або архівування журналів аудиту. Їхні заплановані тригери `cron` прив'язані до UTC, тому конвертер часових поясів (подібно до того, як працює калькулятор годин, підрахунок годин або зворотний відлік для точного планування) допоможе уникнути помилок при визначенні реального часу запуску конвеєра у вашому локальному часовому поясі.

Примітка: вирази Jinja2 (`{{ var }}`), синтаксис шаблонів Helm (`{{ .Values.x }}`) та подібні шаблони залишаються у JSON як звичайні рядки — вони не обчислюються конвертером.

Конвертація OpenAPI / Swagger YAML у JSON для інструментів API

Специфікації OpenAPI 3.x зазвичай створюються у форматі YAML (він зручніший для читання дерева шляхів та параметрів), але використовуються як JSON застарілими інструментами — старими збірками Swagger UI, деякими корпоративними шлюзами API та генераторами коду.

Вставте свій `openapi.yaml` (або `swagger.yaml`) і завантажте `openapi.json`. Конвертер точно зберігає покажчики `$ref` (без їх вирішення), визначення схем, приклади відповідей та схеми безпеки.

Після конвертації виконайте валідацію за допомогою офіційного валідатора OpenAPI (Spectral CLI, openapi-cli, swagger-cli), щоб підтвердити відповідність схемі. Багато команд зберігають YAML у системі контролю версій і генерують JSON під час збирання — як `swagger.yaml`, так і `swagger.json` є повністю еквівалентними для споживачів API.

Помилки парсингу YAML: табуляція, відступи та поширені виправлення

Шість помилок є причиною 95% збоїв при парсингу YAML:

  • Табуляція у відступах — YAML повністю забороняє використання табуляції, навіть один такий символ порушує парсинг.
  • Непослідовні відступи — дочірні ключі одного рівня мають бути вирівняні строго по одному стовпцю.
  • Відсутність пробілу після `:` у мапах — запис `key:value` є недійсним; правильний варіант — `key: value`.
  • Відсутність пробілу після `-` у послідовностях — `-item` розпізнається як рядок, що починається з дефіса; `- item` є елементом послідовності.
  • Спеціальні символи без лапок на початку значення — `@`, `` ` ``, `%`, `*`, `&` потребують використання лапок.
  • Непідтримувані функції в конвертері: якорі (`&name`), аліаси (`*name`) та потоки з кількома документами (`---`) — для них використовуйте повноцінну бібліотеку YAML, наприклад js-yaml, PyYAML або `yq`.

Повідомлення про помилку вказує рядок і стовпець, де стався збій парсингу.

Якорі, аліаси YAML та потоки з кількома документами при конвертації в JSON

Три функції YAML не мають прямого еквівалента в JSON і потребують особливого поводження:

  • Якорі (`&name`) та аліаси (`*name`) дозволяють посилатися на вузол у YAML та використовувати його повторно — це часто зустрічається у файлах Compose для спільних шаблонів служб та в CloudFormation для спільних параметрів. JSON не має синтаксису посилань, тому конвертер розгортає аліаси інлайн (кожен аліас стає повною копією). Дані зберігаються, але обсяг JSON збільшується, а структура спільних посилань втрачається.
  • Потоки з кількома документами (розділювач `---`) представляють кілька значень верхнього рівня в одному файлі — це зазвичай використовується для групування ресурсів Kubernetes. JSON підтримує лише одне кореневе значення на документ. Спочатку розділіть YAML на окремі файли або обгорніть документи в масив JSON `[doc1, doc2, doc3]`.
  • Коментарі (`#`) підтримуються лише в YAML — вони повністю видаляються під час конвертації. Зберігайте YAML як першоджерело, якщо коментарі мають значення.

Безпека зворотного перетворення: YAML → JSON → YAML та граничні випадки

П'ять нюансів зворотного перетворення, які повинен знати кожен розробник:

  • Модель даних: перетворення YAML → JSON → YAML повністю зберігає ключі, значення, типи та вкладеність. Дані на вході та виході ідентичні.
  • Коментарі: втрачаються назавжди, оскільки JSON не підтримує синтаксис коментарів. Зберігайте YAML як першоджерело, якщо у вас є вбудована документація.
  • Якорі/аліаси: розгортаються при конвертації в JSON і ніколи не відновлюються при зворотному перетворенні. Вихідний YAML матиме дубльований вміст там, де в джерелі були спільні посилання.
  • Порядок ключів: YAML зберігає вихідний порядок; конвертер переносить його в JSON; зворотне перетворення в YAML зберігає той самий порядок.
  • Теги типів (`!!str`, `!!int`) — створюються лише тоді, коли це необхідно для усунення неоднозначності. Рядок `"01234"` успішно проходить зворотне перетворення, оскільки в JSON він залишається в лапках; YAML-значення `01234` без лапок розпізнається як ціле число і повертається як число 1234, втрачаючи провідний нуль.

Для безпеки беріть неоднозначні значення в лапки.

Шпаргалка з YAML у JSON: відповідність типів, інструменти та найкращі практики

Відповідність типів з першого погляду:

  • YAML-мапа → JSON-об'єкт
  • YAML-послідовність → JSON-масив
  • YAML-скаляр (за виведенням типу) → JSON-рядок/число/булеве значення/null
  • Тег YAML !!str → JSON-рядок (примусово)
  • YAML null/~/порожньо → JSON null
  • YAML true/false → JSON-булеве значення
  • Шаблон цілого числа YAML → ціле число JSON
  • Шаблон числа з рухомою комою YAML → число JSON

Порівняння інструментів:

  • цей конвертер (у браузері, миттєвий, без встановлення, підходить для 95% реальних YAML-файлів)
  • `yq -o json` (інтерфейс командного рядка CLI, для великих файлів, запити JSONPath)
  • `js-yaml`/`PyYAML` (повноцінні бібліотеки, підтримка якорів та кількох документів, програмне використання)

Найкращі практики:

  • Завжди беріть у лапки неоднозначні значення (yes/no/on/off/null/числові ідентифікатори) у вихідному YAML.
  • Використовуйте відступ у 2 пробіли (стандарт де-факто).
  • Перевіряйте вихідний JSON на відповідність схемі вашого кінцевого споживача (JSON Schema, OpenAPI, K8s OpenAPI) — саме тут виявляються помилки типів.
  • Зберігайте YAML як канонічне джерело та за можливості генеруйте JSON під час збирання проекту.

Корисна автоматизація:

Цей інструмент працює миттєво та без помилок. Подібно до того, як онлайн-сервіси (наприклад, калькулятор віку, калькулятор років або калькулятор дробів) допомагають автоматично виконати розрахунок віку, визначити вік за датою народження, швидко порахувати скільки років чи дізнатися скільки років людини по даті народження без ручних обчислень, наш конвертер миттєво перетворює складні структури даних. Вам не потрібно самостійно думати, скільки років минуло чи намагатися вирахувати, скільки мені років — алгоритм зробить усе за вас, забезпечивши точність у кожному рядку.

code

Embed this Конвертер з YAML у JSON on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/yaml-to-json-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Конвертер з YAML у JSON by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/yaml-to-json-converter?utm_source=embed&utm_medium=snippet&utm_campaign=yaml-to-json-converter">Конвертер з YAML у JSON</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags