JSON Форматер: Мінімізація та Форматування JSON Онлайн Безкоштовно
Безкоштовний JSON форматер для миттєвої мінімізації та форматування JSON. Стискайте JSON, перевіряйте синтаксис та друкуйте з правильними відступами. Швидкий, безпечний веб-інструмент.
JSON Форматувальник
Документація
Форматер JSON: мінімізація та форматування JSON
Форматер JSON — це інструмент, який переписує текст JSON в іншому форматі, не змінюючи дані всередині. Цей форматер JSON виконує дві дії: мінімізує JSON, вилучаючи зайві пробіли, і покращує його вигляд, додаючи відступи та розриви рядків, щоб текст було зручно читати.
Що таке JSON?
JSON, скорочення від JavaScript Object Notation (нотація об’єктів JavaScript), — це текстовий формат для зберігання та передавання даних. Вебсервери використовують його для надсилання інформації застосункам і браузерам. Програми використовують його у файлах налаштувань. Дані зберігаються як об’єкти, записані у фігурних дужках {}, і масиви, записані у квадратних дужках []. Усередині об’єкта кожен фрагмент даних має назву, яку називають ключем, і значення. Значенням може бути рядок, число, true, false, null або інший об’єкт чи масив.
Невеликий об’єкт JSON має такий вигляд:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Як працює цей форматувальник JSON
Деякі інструменти для роботи з JSON зчитують текст у власну структуру даних мови програмування, а потім записують цю структуру назад у вигляді тексту. Таке перетворення туди й назад може змінити дані. Воно може переписати дуже великі числа, вилучити числа, які неможливо подати, і змінити порядок ключів в об’єкті.
Цей інструмент цього не робить. Він зчитує вхідні дані посимвольно й перевіряє, чи відповідають вони граматиці JSON. Під час переписування результату він копіює кожне число та кожен рядок точно так, як їх було введено, у тому самому порядку. Мінімізація або форматування документа ніколи не змінює число, ключ, порядок ключів чи дубльований ключ.
Якщо текст не є дійсним JSON, інструмент зупиняється й показує помилку, а не намагається вгадати, що малося на увазі.
Форматування відбувається у браузері. Інструмент не надсилає вставлений текст на сервер. Вхідні дані додаються до вебадреси сторінки як параметр запиту, тому відформатованим документом можна ділитися або додавати його до закладок за допомогою посилання.
Як мінімізувати JSON
- Вставте JSON у поле введення.
- Натисніть «Мінімізувати».
- Інструмент вилучає пробіли, табуляції та розриви рядків між токенами й показує результат нижче.
- Натисніть «Копіювати» над результатом, щоб скопіювати його.
Приклад обчислення
До:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Після:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Формула мінімізації JSON
Заощаджений обсяг можна обчислити так:
У наведеному вище прикладі відформатована версія має розмір 98 байтів, а мінімізована — 67 байтів:
Точний обсяг заощадженого місця залежить від кількості пробілів і відступів у початковому документі. Документ із глибокою вкладеністю та відступами по 4 пробіли стискається сильніше, ніж документ, який уже був компактним.
Як форматувати JSON
- Вставте JSON у поле введення. Він може бути вже мінімізованим або неохайно відформатованим.
- Натисніть «Форматувати».
- Інструмент додає відступи по 2 пробіли, один розрив рядка для кожного ключа або елемента масиву та пробіл після кожної двокрапки.
- Натисніть «Копіювати» над результатом, щоб скопіювати його.
Приклад обчислення
До:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Після:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Порожній об’єкт або масив залишається в одному рядку, як {} або [], а не розділяється на три рядки.
Поширені помилки JSON, які виявляє цей інструмент
JSON має сувору граматику, суворішу за граматику типової мови програмування. Цей інструмент відхиляє текст, який порушує будь-яке з наведених нижче правил, і показує повідомлення «Недійсний JSON» замість результату:
- Відсутня кома між двома значеннями.
- Кінцева кома після останнього елемента об’єкта або масиву (у JSON це заборонено, на відміну від JavaScript).
- Ключ не взято в подвійні лапки.
- Рядок взято в одинарні, а не подвійні лапки.
- Невідповідні або відсутні квадратні чи фігурні дужки.
- Недійсна або неповна escape-послідовність усередині рядка, наприклад одинарний символ зворотної скісної риски.
- Керувальний символ, наприклад справжній розрив рядка або табуляція, введений усередині рядка замість запису як
\nабо\t. - Число у формі, яку JSON не дозволяє, наприклад із нулем на початку (
01), кінцевою десятковою крапкою (1.) або початковим плюсом (+1).
У JSON також немає синтаксису для коментарів. Текст, що починається з // або /*, не є частиною граматики JSON, тому вставлення JSON із коментарями спричиняє помилку «Недійсний JSON», а не створює JSON із непомітно вилученими коментарями. Щоб відформатувати такий файл, спочатку вилучіть коментарі.
Варіанти використання форматера JSON
- Веброзробка: читання відповідей API під час налагодження та мінімізація файлів конфігурації перед розгортанням.
- Розробка API: перевірка того, що тіло запиту або відповіді є правильно сформованим JSON.
- Аналіз даних: перетворення компактного експорту JSON на зручний для читання формат для перевірки.
- Файли конфігурації: форматування файлу конфігурації перед ручним редагуванням, а потім його повторна мінімізація.
Альтернативи
Редактори коду, як-от Visual Studio Code, можуть форматувати файли JSON безпосередньо в редакторі. Інструменти командного рядка, як-от jq, можуть форматувати й фільтрувати JSON як частину скрипту. Мови програмування також мають бібліотеки JSON, наприклад модуль json у Python або вбудований об’єкт JSON у JavaScript, які більшість програм використовує для розбору JSON у власні структури даних. Онлайн-форматер на кшталт цього зручний, коли потрібна швидка одноразова перевірка без встановлення додаткових програм.
Історія JSON
Дуглас Крокфорд визначив JSON на початку 2000-х років, спираючись на спосіб запису об’єктних літералів у JavaScript, але розробив його так, щоб формат можна було читати й записувати будь-якою мовою програмування. Формат уперше публічно задокументували приблизно 2001 року, а згодом стандартизували як RFC 4627 у (11 800 см) 2006 році, як ECMA-404 у (1 030 см) 2013 році та як RFC 8259 у (21 000 см) 2017 році. У міру розвитку веб API протягом 2000-х років JSON замінив XML як найпоширеніший формат передавання даних між серверами та браузерами, головним чином тому, що він коротший і безпосередньо відповідає структурам даних, уже вбудованим у JavaScript. Інструменти форматування та перевірки з’явилися згодом, коли документи JSON стали більшими й мали більше рівнів вкладеності.
Поширені запитання
Чи вилучає мінімізація коментарі з JSON?
Ні. У JSON немає синтаксису коментарів, і цей інструмент його не додає. Якщо вхідні дані містять коментарі у стилі // або /*, інструмент повідомляє про помилку «Недійсний JSON», а не форматує їх. Перед вставленням тексту вилучіть коментарі.
Чи змінює форматування мої числа або порядок ключів? Ні. Інструмент копіює кожне число й рядок точно так, як їх записано, і зберігає початковий порядок ключів, зокрема дубльованих, якщо вони є.
Які відступи використовує форматер? Два пробіли на кожен рівень вкладеності та пробіл після кожної двокрапки.
Чи надсилаються мої дані JSON на сервер?
Ні. Форматування виконується у браузері. Вставлений текст копіюється в URL сторінки як параметр запиту json, щоб сторінкою можна було ділитися або додавати її до закладок. Нічого не завантажується.
Чи є обмеження на розмір? Фіксованого обмеження немає, але під час розбору весь документ зберігається в пам’яті, тому дуже великий файл (у багато мегабайтів) може повільно оброблятися на старому пристрої.
Чи буде недійсний JSON частково виправлено? Ні. Якщо вхідні дані будь-де порушують граматику JSON, інструмент показує помилку, а не повертає частковий або припустимий результат.
Джерела
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., ред. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, грудень 2017, https://www.rfc-editor.org/rfc/rfc8259.
- "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
- "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.