Skip to main content
CheckTown
Конвертери

Конвертер JSON5 в JSON: очищення файлів конфігурації

Опубліковано 5 хв читання
У цій статті

Що таке JSON5?

JSON5 — це надмножина JSON, яка додає можливості, натхненні синтаксисом ECMAScript 5.1. Він був створений, щоб зробити JSON більш зручним для файлів конфігурації та випадків, коли люди пишуть і читають JSON вручну. Кожен дійсний документ JSON також є дійсним JSON5, але JSON5 додає коментарі, кінцеві коми, ключі без лапок та інші зручності.

Специфікація JSON5 була завершена у 2018 році і широко прийнята в інструментарії JavaScript. Інструменти збірки, такі як Babel, Next.js і Webpack, приймають файли конфігурації JSON5. Конвертація JSON5 у стандартний JSON необхідна при взаємодії з системами, які розуміють лише строгий JSON, такими як API, бази даних і більшість мов програмування.

Можливості JSON5

JSON5 додає кілька синтаксичних розширень, які полегшують написання та підтримку файлів конфігурації.

  • Коментарі — дозволені як однорядкові (//), так і багаторядкові (/* */) коментарі, роблячи файли конфігурації самодокументованими
  • Кінцеві коми — масиви та об'єкти можуть мати кому після останнього елемента, зменшуючи шум у діфах
  • Ключі без лапок — ключі об'єктів, які є дійсними ідентифікаторами ECMAScript, не потребують лапок
  • Шістнадцяткові числа — числові значення можна записувати як 0xFF, корисно для кольорових кодів у конфігурації
  • Багаторядкові рядки — значення рядків можуть охоплювати кілька рядків з використанням продовження зворотним слешем
  • Спеціальні числові значення — Infinity, -Infinity та NaN є дійсними числовими літералами в JSON5

Спробуйте безкоштовно — реєстрація не потрібна

Конвертувати JSON5 у JSON →

Де використовується JSON5

JSON5 використовується переважно в інструментарії екосистеми JavaScript, де файли конфігурації пишуться та підтримуються розробниками.

  • Babel — файли .babelrc і babel.config.json5 підтримують синтаксис JSON5 для конфігурації збірки з коментарями
  • TypeScript — tsconfig.json підтримує можливості JSON5, такі як коментарі та кінцеві коми (технічно JSONC)
  • Chrome DevTools — профілі обмеження мережі та інші налаштування використовують формат JSON5
  • Next.js — файли конфігурації приймають JSON5 для зручного налаштування з вбудованою документацією

Часті запитання

Чи можуть браузери аналізувати JSON5 нативно?

Ні. Браузери підтримують лише стандартний JSON через JSON.parse(). Щоб аналізувати JSON5 у браузері або додатку Node.js, вам потрібен npm-пакет json5. Інструменти збірки, які підтримують JSON5, обробляють аналіз внутрішньо під час етапу збірки.

Яка різниця між JSON5 та JSONC?

JSONC (JSON з коментарями) додає лише підтримку коментарів до JSON. JSON5 — це ширша надмножина, яка додає коментарі, кінцеві коми, ключі без лапок, шістнадцяткові числа, багаторядкові рядки та спеціальні числові значення. tsconfig.json TypeScript і settings.json VS Code використовують JSONC, тоді як Babel та інші інструменти використовують повний JSON5.

Чи JSON5 те саме, що YAML?

Ні. JSON5 залишається близьким до синтаксису JSON з невеликими ергономічними доповненнями. YAML — це зовсім інший формат зі структурою на основі пробілів, якорями та багатьма іншими можливостями. JSON5 легше конвертувати в JSON, оскільки він є строгою надмножиною. Конвертація YAML у JSON може бути з втратами, оскільки YAML підтримує типи даних, яких немає в JSON.

Пов'язані інструменти