Безкоштовний конвертер

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

Швидке та безпечне перетворення YAML у JSON. Ідеально підходить для файлів конфігурації та аналізу даних.

Або

Про цей інструмент

YAML і JSON — тісно пов’язані формати — JSON технічно є суворою підмножиною YAML 1.2 — і конвертація між ними зазвичай проста. YAML додає зручні для людини функції, яких не вистачає JSON: коментарі, багаторядкові рядки без екранування, посилання на прив’язки та псевдоніми, більш гнучке цитування та структуру на основі відступів, яка нагадує звичайний макет документа. Це робить YAML популярним вибором для конфігураційних файлів (маніфести Kubernetes, робочі процеси GitHub Actions, Docker Compose), тоді як JSON домінує в корисних навантаженнях API.

Перетворення YAML на JSON зазвичай означає відмову від зручних для людини додаткових функцій YAML в обмін на формат, який машини легше аналізують і який є лінгва франка HTTP API. Коментарі видалені (JSON не має). Посилання на прив’язки перетворюються на їхні значення посилань. Багаторядкові рядки згортаються до стандартних рядків JSON із вбудованими символами нового рядка.

Цей конвертер аналізує YAML за допомогою js-yaml, найбільш поширеної бібліотеки YAML у JavaScript. Вихідні дані створюються за допомогою JSON.stringify із необов’язковим відступом. Перетворення обробляє весь стандартний синтаксис YAML 1.2, включаючи стиль потоку, стиль блоку, скаляри, послідовності, зіставлення, прив’язки, псевдоніми та стандартні типи тегів.

Навіщо конвертувати YAML у JSON

Більшість API і багато середовищ програмування очікують JSON. Конфігураційні файли, написані на YAML, потрібно перетворити на JSON під час інтеграції з кодом або службами, які приймають лише JSON. Інструментів для JSON також більше: jq, JSON Path, JSON Schema, а також широка екосистема валідаторів і трансформаторів — усі вони передбачають введення JSON.

JSON також є однозначним, ніж YAML. Гнучкість YAML створює сюрпризи при розборі — рядки на зразок «no» розбираються як логічне значення false у YAML 1.1, розбираються рядки версії як плаваючі, помилки відступів викликають мовчазні структурні зміни. Перетворення на JSON заморожує дані в менш неоднозначній формі.

Як використовувати

Вставте YAML, отримайте JSON.

  1. Додайте свій YAML: Вставте текст YAML у область введення або перетягніть файл .yml/.yaml. js-yaml приймає повний синтаксис YAML 1.2.
  2. конвертувати: js-yaml аналізує YAML на об’єкт JavaScript, а JSON.stringify серіалізує його з двома пробілами. Коментарі видаляються, прив’язки вирішуються, а спеціальні типи YAML (мітки часу, двійкові дані) перетворюються на представлення, сумісні з JSON.
  3. Перегляньте результат: Переконайтеся, що структура JSON відповідає очікуваній. Порівняйте з вихідним YAML, щоб виявити будь-які місця, де вільний тип YAML створив несподівані значення JSON.
  4. Завантажте або скопіюйте: Збережіть як .json або скопіюйте в буфер обміну. Вихід є дійсним JSON, який може використовуватися будь-яким аналізатором JSON.

Загальні випадки використання

Технічні деталі

js-yaml реалізує YAML 1.2 з додатковою підтримкою примх YAML 1.1 (проблема «no» як false, вісімкові числа без префікса 0o). Синтаксичний аналізатор створює дерево об’єктів JavaScript, використовуючи власні типи: числа, рядки, логічні значення, значення null, масиви та звичайні об’єкти.

JSON.stringify серіалізує дерево об’єктів у JSON. Необов’язковий відступ дає гарний надрукований результат; без нього результатом є компактний однорядковий JSON. Спеціальні значення (NaN, Infinity, undefined) не є дійсними JSON; конвертер приводить їх до нуля, якщо вони присутні.

Граничні випадки: мітки часу YAML стають рядками ISO-8601 у JSON. Двійкові дані YAML (у кодуванні base64) перетворюються на рядок. Якір і псевдоніми перетворюються на повторювані значення в JSON, оскільки JSON не має посилального синтаксису.

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

Поширені запитання

Чи змінює вміст перетворення YAML на JSON?
Вміст збережено максимально точно. Проте деякі особливості формату можуть не мати прямих еквівалентів, тому можуть виникнути незначні відмінності у форматуванні.
Навіщо конвертувати дані у формат JSON?
JSON — стандартний формат даних для веб-інтерфейсів API і програм JavaScript. Він зручний для читання, широко підтримується мовами програмування та має простіший синтаксис, ніж XML.
Чи обробляє конвертер вкладені або складні структури YAML?
так Інструмент правильно аналізує вкладені об’єкти, масиви та всі стандартні типи даних YAML, зберігаючи повну структуру даних у вихідних даних JSON.
Чи це перетворення безпечне та конфіденційне?
так Уся обробка відбувається локально у вашому браузері. Ваші дані ніколи не залишають ваш пристрій — без завантаження на сервер, без обробки в хмарі, без збору даних.
Чи мій YAML буде чистим?
Структурно так, якщо ви повторно надішлете JSON назад до YAML. Коментарі та структура прив’язки втрачаються; необроблені значення зберігаються.
Чи завантажуються мої дані на сервер?
Ні, js-yaml працює у вашому браузері.
Який максимальний розмір?
До 50 Мб. js-yaml миттєво обробляє типові конфігураційні файли; дуже великий YAML може зайняти помітний час для аналізу.
Чи підтримує багатодокументний YAML?
YAML підтримує кілька документів в одному файлі, розділених символом ---. Конвертер за замовчуванням обробляє перший документ; для обробки кількох документів спочатку розділіть YAML.