Encoders & Utilities

JSON Formatter

Валідує, форматує і мініфікує JSON з підсвічуванням.

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

JSON Formatter парсить будь-який JSON-документ, валідує його проти RFC 8259-граматики і переформатовує з консистентною індентацією та syntax highlighting. Вставте output API-відповіді, config-файл або log-рядок — невалідний JSON отримає inline error з точним рядком і колонкою parse-фейлу; валідний JSON отримає pretty-print зі згортуваними об'єктами та масивами, щоб ви могли навігувати великими структурами без нескінченного скролу.

Окрім pretty-print, інструмент може мінімізувати JSON (зрізати кожен зайвий байт для transit), сортувати ключі алфавітно (корисно для diff двох конфігів), екранувати все значення як JSON-in-string (для вбудовування в інший JSON-payload) і unescape назад. Усе виконується локально у вашому браузері — payload ніколи не перетинає мережу, тож безпечно для API-відповідей із токенами чи PII.

Коли використовувати цей інструмент

  • Дебаг API. Киньте curl-відповідь у форматер, щоб стіну компактного JSON зробити читабельною.
  • Diff-и конфігів. Сортуйте обидва файли за ключами, тоді порівнюйте — випадковий порядок ключів інакше дає шумні diff-и.
  • Валідація перед деплоєм. Помилка в CI YAML часто ховається як malformed JSON всередині рядка; вставте внутрішній JSON, щоб переконатись, що він парситься.
  • Вбудовування JSON у JSON. Auto-escape payload, щоб він міг подорожувати як string-поле в іншому JSON (зручно для webhook-body в шаблонах).

Що ловить наш валідатор

RFC 8259 забороняє trailing-коми, коментарі та unquoted keys — типові JS-flavoured зручності. Ми тримаємо специфікацію суворо, тож JSON, що ви копіюєте з нашого форматера, валідний усюди. Якщо треба форматувати JSON5 або JSONC (з коментарями, trailing-комами), зробіть попередній «strip extras» прохід — багато редакторів роблять це автоматично при збереженні як .json.

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

Чому мій JSON з trailing-комами не парситься?

Бо RFC 8259 їх забороняє. {"a": 1,} валідний у JavaScript, але невалідний JSON. Те саме — single-quoted рядки, unquoted ключі та //-коментарі: це JS-зручності, які JSON-спека свідомо виключила для cross-language portability. Якщо потрібен relaxed-формат, дивіться на JSON5 або JSONC; для строгого interop наш форматер правильно їх відкидає.

Чи можна форматувати JSON Lines (NDJSON)?

Не напряму — NDJSON (один JSON-об'єкт на рядок) — свій формат, ми ж обробляємо весь paste як єдиний документ. Щоб pretty-print-нути NDJSON-файл, розбийте його на рядки і форматуйте кожен окремо. Результат уже не NDJSON (бо pretty-print додає newlines), тож це лише для інспекції — ніколи не перезаписуйте оригінал pretty-printed output.

Чи змінює інструмент порядок моїх ключів?

Лише якщо попросите. За замовчуванням форматер зберігає порядок вставки. Toggle «Sort keys» алфавітизує кожен об'єкт на кожній глибині — корисно для diff двох конфігів, але змінює layout документа. Для human-friendly виводу, що поважає логічне групування, лишайте сортування off; для machine-порівняння — вмикайте.

Якого розміру може бути input?

Ми тестували до ~50 MB на сучасному ноутбуці. Більше — browser-парсинг помітно сповільнюється; на 100 MB+ багато браузерів time-out JS-задачу. Для дуже великих JSON-дампів використовуйте streaming-парсер у command line (jq, fx, jless); для типового «API-відповідь, що виявилась 8 MB» — браузер цілком справляється.