Форматер та переглядач JSON
Вставте JSON, і він буде відформатований на місці. Натисніть будь-яке поле, щоб переглянути його повне значення та шлях праворуч; синтаксичні помилки позначені за рядком та стовпцем. Все працює локально у вашому браузері.
- Відступ
- 2 / 4 пробіли · табуляція
- Додатково
- Аналіз · сортування · статистика
- Конфіденційність
- Нічого не завантажується
- Використання
- Безкоштовно · без реєстрації
ЧОМУ ЦЕ ВАЖЛИВО
Створено для кожного, хто щодня працює з JSON
Відповіді API, конфігураційні файли, лог-пейлоади — сирий JSON приходить як один щільний рядок. Зробіть його читабельним, знайдіть помилкову кому, а потім поверніть так, як вам потрібно.
Екранування та мінімізація
Один клік перемикає між читабельним деревом та компактним одним рядком. Виберіть 2 пробіли, 4 пробіли або табуляцію, щоб відповідати стилю вашої кодової бази.
Помилки вказані за рядком та стовпцем
Недійсний JSON вказує точне положення — Р12 : С34 — замість нечіткого повідомлення парсера, тому ви одразу переходите до відсутньої коми або закриваючої лапки.
Рекурсивне сортування ключів
Сортуйте ключі об'єктів за алфавітом на кожній глибині, тоді як масиви зберігають свій порядок. Ідеально для порівняння конфігурацій та стабілізації фікстур між комітами.
Екранування / розекранування літералів
Перетворіть JSON в екранований рядковий літерал для вставлення в код або файли оточення, а також розгорніть лаконічний літерал назад у сирий JSON для перевірки.
Клацніть на будь-яке поле, щоб побачити його повністю
Натисніть на поле в редакторі — і відкриється бічна панель з його повним значенням, типом та JSON-шляхом, включно з вкладеними об'єктами та масивами. Більше не потрібно рахувати дужки на око.
Працює повністю локально
JSON ніколи не виходить за межі вашого браузера. Інструмент працює в офлайн-режимі, і ніяких запитів не надсилається, поки вхідне поле порожнє.
Як це працює
Змінюйте відступи між 2 пробілами, 4 пробілами та табуляціями. Згортання до одного рядка для передачі машині, рекурсивне сортування ключів об'єктів для стабільного порядку або екранування всього вмісту в рядковий літерал — та зворотне розекранування ланцюжкового літералу, скопійованого з рядка логу.
Натисніть на будь-яке поле, щоб переглянути його повне значення в бічній панелі. Ключі, елементи масивів та рівень вкладення оновлюються при вашому введенні. Тримайте кілька документів відкритими на одній сторінці та порівнюйте їх одним поглядом — кожен має власний редактор. Все працює локально у вашому браузері, нічого не завантажується на сервер.
Додаткові інструменти для JSON
Сторонні інструменти, підібрані за призначенням — ми не дублюємо їх тут, тому перейдіть туди, коли вам знадобиться один.
| Інструмент | Призначення | Що він робить |
|---|---|---|
| JSON Editor Online | Редагування та перевірка валідності | Пов’язані текстове та древовидне панелі, реструктуризація перетягуванням, а також порівняння, перевірка схем та запити. |
| JSON Crack | Візуалізація | Перетворює JSON на інтерактивний вузловий граф для розуміння глибокого вкладення або швидкого створення демонстрації. |
| JSON Visio | Візуалізація | Інший переглядач графів з легшим інтерфейсом — обирайте той, який з двох вам більше до вподоби. |
| Diffchecker | Порівняння | Порівнюйте два тексти поруч або в єдиному режимі та переходьте безпосередньо до вставлених, видалених або змінених рядків. |
| JSONPath | Запит | Запускайте вирази JSONPath онлайн і витягуйте саме ті поля, які вам потрібні, за шляхом. |
| JSONata | Запит і трансформація | Мова для запитів і трансформації даних JSON, з онлайн-плайграундом та прикладами. |
| quicktype | Генерація типів | Генеруйте визначення типів TypeScript, Swift, Go та інших мов з даних JSON. |
| JSON Generator | Тестові дані | Генеруйте структуровані тестові дані за шаблонами — зручно для тестових фікстур API. |
Дрібні деталі форматування JSON
JSON виглядає просто, але має низку суворих правил. Знання їх дозволяє не робити додатковий запит на сервер, якщо парсер відхилив ваш вміст.
Що вважається дійсним JSON?
JSON визначає шість типів значень: об'єкт, масив, рядок, число, логічний тип та null. Ключі мають бути рядками в подвійних лапках, не дозволяється кінцева кома, а коментарі заборонені.
Зайві функції JavaScript, такі як одинарні лапки, undefined, NaN, Infinity та кінцеві коми — всі відхиляються суворим парсером, що саме ця інструмент фіксує.
Чим відрізняється перегляд від форматування?
Форматування змінює структуру тексту: відступи, розриви рядків та згортання. Під час перегляду документ залишається без змін. Коли ви натискаєте на поле, його повне значення, тип та JSON-шлях з'являються в бічній панелі.
Глибоко вкладені об'єкти важко читати лише за дужками, тому натискання на поле дозволяє точно підтвердити його вміст — це особливо зручно для відповідей API та вмісту логів.
Чому порядок моїх ключів змінюється після форматування?
Спецфікація JSON розглядає об'єкти як невпорядковані пари ключ–значення, і парсери можуть змінювати їхній порядок на власний розсуд. Насправді V8 (Chrome / Node) зберігає порядок введення для рядкових ключів, але цілісні ключі ("1", "42") завжди сортуються за числовим значенням спочатку.
Увімкніть "Сортувати ключі об'єктів", якщо вам потрібен стабільний алфавітний порядок, який збережеться після роботи будь-якого парсера — це зручно для порівняння конфігурацій.
Наскільки велике число може зберігати JSON?
Сам JSON не встановлює ніяких обмежень, але JavaScript розбирає кожне число як двійкове число IEEE-754 з подвійною точністю. Цілі числа, що перевищують межу ±2^53 (близько 9 квадрильйонів), втрачають точність — 9007199254740993 перетворюється на 9007199254740992.
Якщо ваш запит містить 64-бітні ідентифікатори або мітки часу в наносекундах, залишайте їх у вигляді рядка; цей інструмент не зіпсує їх, але будь-що, що ви вставите в код JS, може бути змінено.
Коли слід застосовувати мініфікацію замість форматування для читання людиною?
Форматуйте для всього, що читає людина: перегляд коду, налагодження, документація. Мініфікуйте для всього, що передає програма: тіла запитів API, параметри URL, змінні середовища та файли .env.
Мініфікація звичайного запиту API зменшує обсяг даних на 15–30% без зміни структури — це найдешевший метод стиснення.
Для чого використовується екранування?
Екранування обгортає JSON у вигляді рядкового літерала: лапки стають \", а розриви рядків — \n, щоб він міг бути вкладений в інше значення JSON, команду оболонки або змінну середовища без поломок.
Зняття екранування виконує зворотну дію. Якщо ви коли-небудь копіювали запит з рядка журналу, який виглядав як {\"a\":1}, саме такий формат — вставте його сюди та натисніть "Зняти екранування".
Часті запитання
Чи завантажується або зберігається мій JSON десь?
Ні. Все працює у вашому браузері за допомогою JavaScript — жоден запит ніколи не передає ваш JSON кудись, інструмент працює офлайн, і нічого не зберігається в локальне сховище, тому оновлення сторінки очищує введені дані.
Чому форматування не вдається для мого файлу конфігурації?
Швидше за все, це не суворий JSON: JSONC / JSON5 дозволяють коментарі та розділові коми, YAML заснований на відступах, а файли .env — це пари ключ=значення. Спочатку видаліть коментарі та розділові коми, або використовуйте парсер, призначений для цього формату.
Чи змінює сортування ключів також і масиви?
Ні. Порядок масивів є важливим (перший елемент, другий елемент…), тому масиви завжди залишаються на своєму місці. Сортуються лише ключі об’єктів — включаючи об’єкти, вкладені в масиви — за алфавітом.
Що означає "Помилка біля L12 : C34"?
Це номер рядка та стовпчика, починаючи з 1, де парсер припинив роботу: рядок 12, стовпчик 34. Реальна помилка зазвичай знаходиться в цьому місці або трохи раніше — пропущена кома в попередньому рядку, не екраedована лапка або зайва кома перед закриваючою дужкою.
Чи є обмеження за розміром? Чи працює на мобільних пристроях?
Жорстких обмежень немає — форматування виводу журналу розміром у кілька мегабайтів працює. На пристроях низького класу дуже великі вхідні дані (десятки МБ) можуть викликати затримки, оскільки кожне натискання клавіші змушує перепарсувати та переформатовувати. Розмітка адаптивна; редактор налаштовується під ширину екрана.