tigtools

Форматувальник JSON

Вставте JSON, щоб відформатувати його або мінімізувати. Якщо він некоректний, ви побачите, що саме не так і де. Ваші дані залишаються у браузері.

Працює у вашому браузері Без реєстрації

Відступ

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

  1. Вставте JSON у поле введення або натисніть «Спробувати приклад».
  2. Виберіть відступи (2 пробіли, 4 пробіли або табуляція) і за бажанням відсортуйте ключі за абеткою.
  3. Перегляньте відформатований результат праворуч. Натисніть «Мінімізувати», щоб натомість прибрати всі пробіли.
  4. Якщо в JSON є синтаксична помилка, виправте її в указаних рядку та стовпці, а потім скопіюйте результат або завантажте його як файл .json.

Як це працює

Форматувальник розбирає текст за допомогою вбудованого в браузер парсера JSON і виводить його знову з вибраними відступами. Тому результат завжди є коректним JSON з однаковими відступами. Мінімізація виводить ті самі дані без пробілів і перенесень рядків — у найкомпактнішому вигляді для надсилання мережею або зберігання в значенні конфігурації.

Якщо вхідні дані не є коректним JSON, простий строгий перевіряльник знаходить першу помилку та вказує її рядок і стовпець, а також зрозуміло пояснює типові проблеми: кінцеві коми, одинарні лапки, ключі без лапок, коментарі та значення на кшталт NaN або undefined, які є в JavaScript, але не в JSON. У різних браузерах помилки JSON формулюються по-різному, тому позицію визначає сам інструмент, а не бере її з повідомлення браузера.

Зважайте на обмеження повторного форматування. Числа зберігаються як числа з плаваючою комою подвійної точності, тому цілі числа, більші за 9,007,199,254,740,991 (2^53 − 1), зокрема деякі ідентифікатори баз даних, втрачають точність: 9007199254740993 перетворюється на 9007199254740992. Зберігайте такі ідентифікатори як рядки. Якщо в об’єкті двічі трапляється той самий ключ, зберігається лише останнє значення. JavaScript завжди розміщує ключі, схожі на цілі числа («1», «20»), перед іншими ключами — незалежно від того, чи ви сортуєте їх. Файли розміром до кількох мегабайт обробляються без проблем; для файлів понад приблизно 300 000 символів форматування під час введення призупиняється, і потрібно натиснути «Форматувати», щоб введення залишалося швидким.

Приклади

Перегляд відповіді API

REST API повертає один довгий рядок, наприклад {"user":{"id":7,"tags":["a","b"]}}. Форматування з відступом у 2 пробіли розміщує кожен ключ на окремому рядку й додає відступи для масиву tags, тож структуру одразу видно.

Порівняння двох файлів конфігурації

У двох конфігураціях JSON ті самі параметри перелічено в різному порядку. Увімкніть «Сортувати ключі від А до Я» під час форматування обох файлів: тепер результати збігаються, і текстове порівняння показує лише справжні відмінності.

Пошук зайвої коми

Файл package.json, відредагований вручну, не завантажується. Вставте його, щоб побачити повідомлення «Кінцева кома» в рядку 14, стовпці 5, яке вказує на кому після останньої залежності.

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

Чому після форматування змінилося велике число?

Парсери JSON у браузерах зберігають числа у форматі 64-бітної плаваючої коми, який точно представляє цілі числа лише до 9,007,199,254,740,991. Більші цілі числа округлюються до найближчого представимого значення. Якщо ваші дані містять 64-бітні ідентифікатори, передавайте їх як рядки.

Чи може він форматувати JSON із коментарями або кінцевими комами (JSON5, JSONC)?

Ні. Інструмент суворо дотримується стандарту JSON (RFC 8259) і повідомляє про коментарі та кінцеві коми як про помилки, вказуючи їхнє розташування, щоб ви могли їх видалити. Так само працює більшість парсерів JSON у мовах програмування.

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

Ні. Змінюється лише порядок ключів в об’єктах, значення залишаються незмінними. За визначенням, порядок ключів в об’єктах JSON не має значення, тому результат є еквівалентним. Масиви не змінюються, адже їхній порядок має значення.

Який розмір файлу можна форматувати?

У сучасному браузері на комп’ютері можна обробляти файли розміром у кілька мегабайт. Для вхідних даних понад приблизно 300 000 символів інструмент чекає, доки ви натиснете «Форматувати» або «Мінімізувати», замість того щоб форматувати текст після кожного натискання клавіші. Через дуже великі результати текстове поле може повільно прокручуватися на телефонах.

Мій JSON кудись завантажується?

Ні. Розбір і форматування виконуються у вашому браузері за допомогою JavaScript. Текст не надсилається на сервер і не зберігається.

Конфіденційність

Ваш JSON розбирається й форматується лише у браузері. Він не завантажується на сервер, не реєструється й не зберігається, а також не включається в аналітику.