UltKit
Зображення11
PDF13
Документи й дані7
Відео6
Аудіо4
Інші інструменти22

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

Перетворюйте конфігурації YAML, специфікації OpenAPI та файли CI на JSON, який прочитає будь-який парсер, API чи валідатор схем. Завантажте файли .yaml або .yml і отримайте JSON із відступами.

Конвертер даних

або перетягніть Файли CSV, TSV, TXT … сюди ·

До 95 МБ на файл· До 20 файлів· Видаляються через 30 хв

Результат

Файли обробляються на наших серверах і видаляються через 30 хв.

Як користуватися цим інструментом

  1. 1

    Виберіть файли YAML

    Додайте файли .yaml або .yml: до 20 за раз, до 95 MB кожен. Назви лишаються оригінальними; файли JSON отримають ті самі назви з новим розширенням.

  2. 2

    Виберіть формат із відступами або компактний

    Параметр Форматований вивід увімкнено: він додає відступи в JSON, щоб його було зручно читати й переглядати в код-рев’ю. Вимкніть його в розділі Додаткові налаштування, щоб отримати файл в один рядок для вставлення в тіло запиту.

  3. 3

    Конвертуйте й використовуйте

    Натисніть Конвертувати в JSON, завантажте результат і передайте файл в API, валідатор або скрипт, якому він був потрібен.

Навіщо розробники конвертують YAML у JSON

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

Тому конвертація відбувається на межі систем. Інженер платформи пропускає маніфест через jq, який читає лише JSON. Бекенд-розробник надсилає специфікацію OpenAPI генератору коду, якому потрібен JSON. Тестувальник завантажує тестові дані з YAML у набір тестів на JavaScript. В усіх випадках YAML лишається першоджерелом, а JSON — артефактом збірки. Якщо ж потрібно обробити цілу теку стрічок чи експортів, а не конфіги, старіший формат розмітки так само опрацює XML у JSON.

Як YAML і JSON розвивалися разом

Кларк Еванс уперше запропонував YAML
2001
YAML 1.2 зробив JSON підмножиною YAML
2009
RFC 8259, чинний стандарт JSON
2017
Опубліковано редакцію YAML 1.2.2
2021

Що стається з можливостями, які є лише в YAML

Якір (&defaults) та його аліаси (*defaults) дозволяють у YAML повторно використовувати блок. У JSON немає посилань, тому кожен аліас замінюється повною копією блоку, на який вказує якір.

  • JSON може бути помітно довшим за YAML
  • Ключі злиття (<<: *defaults) розгортаються так само
Невеликий конфіг YAML у форматованому JSON
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Факти про формати YAML і JSON

YAML

YAML

YAML («YAML Ain't Markup Language») — зручний для людини формат даних, уперше випущений у 2001 році. Він використовує відступи замість дужок, підтримує коментарі та є надмножиною JSON. Його широко застосовують для конфігурації в Docker Compose, Kubernetes, GitHub Actions і багатьох програмах. Через залежність від пробілів його легко зламати одним зайвим пробілом, а деякі значення, наприклад «no» або дати, можуть інтерпретуватися несподівано.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Конвертер YAML

JSON

JavaScript Object Notation

JSON — легкий текстовий формат для структурованих даних, який на початку 2000-х популяризував Дуглас Крокфорд і який стандартизовано як RFC 8259 та ECMA-404. Він передає об’єкти, масиви, рядки, числа, булеві значення та null простим читабельним синтаксисом. Це формат за замовчуванням для вебAPI, конфігураційних файлів і обміну даними між застосунками майже в усіх мовах програмування. У ньому немає вбудованих коментарів, дат і схем, а великі вкладені файли важко читати без переглядача.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
2001 · Douglas Crockford
Конвертер JSON

YAML у JSON конвертують, коли конфіг або специфікацію, написані для людей, потрібно передати машині: в API-запит, валідатор схем або інструмент без парсера YAML.

Поширені запитання про конвертер YAML у JSON

Навіщо конвертувати YAML у JSON, якщо дані однакові?

Бо багато інструментів розуміють лише один із них. Читачі JSON є в кожній мові програмування та в кожному браузері, а для YAML потрібна додаткова бібліотека. Тіла запитів до REST API, валідатори JSON Schema, jq, а також файли на кшталт package.json чи manifest.json розширення браузера очікують саме JSON.

Що відбувається з коментарями в YAML?

Вони видаляються. У RFC 8259 для JSON не передбачено синтаксису коментарів, тож рядкам, що починаються з #, нікуди подітися. Зберігайте YAML-файл як документований першоджерело, а JSON вважайте згенерованою копією, яку можна створити знову будь-коли.

Чому NO або off перетворилися на false?

Парсери, що дотримуються YAML 1.1, читають yes, no, on та off як булеві значення, тому код країни на кшталт NO (Норвегія) може стати false. YAML 1.2 обмежує булеві значення лише true і false, але не кожен інструмент його підтримує. Беріть такі значення в лапки в YAML, наприклад "NO", і в JSON вони лишаться рядками.

Чи можна конвертувати шаблон CloudFormation у форматі YAML?

AWS CloudFormation приймає обидва формати, але короткі теги на кшталт !Ref і !GetAtt існують лише в YAML. У шаблонах JSON їх записують як повні функції: {"Ref": "MyBucket"} або {"Fn::GetAtt": [...]}. Перепишіть короткі теги в повну форму перед конвертацією, щоб шаблон JSON лишився коректним.

Як конвертувати у зворотному напрямку?

Скористайтеся JSON у YAML. Це звичайний напрям, коли відповідь API або згенерований файл має стати читабельним конфігом у репозиторії.