Робота із синтаксисом та структурою JSON
Формат JSON (JavaScript Object Notation) є текстовим стандартом для обміну даними, який базується на парах "ключ-значення" та впорядкованих списках (масивах). Правильна структура документа вимагає суворого дотримання синтаксичних правил, таких як обов'язкове використання подвійних лапок для ключів та рядкових значень, розділення елементів комами та точна відповідність закривних дужок.
Цей інструмент дозволяє працювати з двома варіантами синтаксису, які можна вибрати через інтерфейс: стандартний JSON та JSONC. JSONC дозволяє використовувати коментарі та кінцеві (трейлінгові) коми, що часто зустрічається у конфігураційних файлах. Для перемикання між ними використовується перемикач, де доступна мітка Синтаксис.
При роботі з великими обсягами даних інструмент гарантує точність обробки: великі цілі числа зберігаються без втрати точності. Максимальний розмір вхідних даних, які може обробити інструмент, становить 10 MiB. Якщо ліміт перевищено, користувач побачить повідомлення: Обсяг введення перевищує {limit} — це більше, ніж інструмент може обробити.. Для забезпечення стабільної роботи браузера встановлено поріг синхронної обробки у 250 000 символів. Якщо аналіз структури триває занадто довго, процес зупиняється з повідомленням: Перевірка цього JSON тривала надто довго і була зупинена. Спробуйте менший документ..
Завантаження та підготовка файлів
Для початку роботи дані можна вставити безпосередньо в поле введення або відкрити локальний файл. Інструмент підтримує роботу з файлами форматів .json та .txt. Відкрити їх можна за допомогою кнопки Відкрити файл або перетягнувши файл у робочу область, де відображається підказка Перетягніть сюди файл.json або.txt.
Під час завантаження файлів діють такі правила та обмеження:
- Кодування: Файли обов'язково мають бути у кодуванні UTF-8. Якщо файл має інше кодування, з'явиться помилка: Цей файл не є текстом у кодуванні UTF-8, тому його не можна відкрити тут..
- Тип файлу: При спробі завантажити непідтримуваний формат відображається повідомлення: Непідтримуваний тип файлу — виберіть файл.json або.txt..
- Розмір файлу: Якщо розмір файлу перевищує встановлену межу, інструмент покаже помилку: Файл завеликий — обмеження
{limit}.. - Помилки читання: У разі апаратних чи системних збоїв під час зчитування виводиться повідомлення: Не вдалося прочитати файл. Спробуйте вибрати його ще раз..
Після успішного завантаження файлу інструмент виводить статус: Завантажено {name} ({size}).. Якщо користувач намагається виконати дію з порожнім редактором, з'являється попередження: Спочатку вставте або відкрийте JSON..
Форматування та мініфікація даних
Форматування робить структуру JSON придатною для читання людиною завдяки додаванню відступів та розривів рядків. Користувач може самостійно налаштувати рівень відступів, використовуючи елемент керування Відступи. Після успішного виконання операції за допомогою кнопки Форматувати з'являється статус: JSON відформатовано..
Мініфікація виконує протилежну функцію — вона оптимізує JSON для передачі мережею або збереження у базах даних, видаляючи всі зайві пробіли, табуляції та розриви рядків, але повністю зберігаючи структуру даних. Для цього використовується кнопка Мініфікувати, після натискання якої з'являється повідомлення: JSON мініфіковано..
Для очищення робочого простору призначена кнопка Очистити, яка повертає редактор до початкового стану зі статусом Редактор очищено. та повідомленням Готово. Вставте JSON та виберіть дію..
Інструмент також дозволяє впорядкувати структуру об'єктів за допомогою кнопки Сортувати ключі. Ця функція має підказку: Рекурсивно сортує ключі об’єктів за кодовими точками. Порядок елементів масивів не змінюється.. Після сортування виводиться повідомлення: Ключі відсортовано — порядок масивів не змінився. Натисніть Ctrl/Cmd+Z, щоб скасувати..
Валідація та виправлення помилок у JSON
Інструмент автоматично перевіряє синтаксис введених даних. Якщо помилок немає, відображається статус Коректний JSON. Також у нижній панелі виводяться статистичні дані документа: Символи, Рядки та Розмір.
Якщо дані містять помилки, відображається статус Некоректний JSON. Інструмент локалізує проблему, вказуючи місце помилки у форматі рядок {line}, стовпець {col}, та пропонує кнопку Перейти до помилки. Серед типових помилок синтаксису розпізнаються такі:
- Пропущена кома між елементами
- Зайва кома перед закривною дужкою
- Ключі об'єкта мають бути в подвійних лапках
- Пропущено двокрапку після назви властивості
- У рядка немає закривної лапки
- JSON закінчується надто рано — схоже, він обрізаний
- Неочікуваний символ там, де має бути значення
- Цей JSON має надто глибоку вкладеність для обробки
- Дубльований ключ
{key}— видаліть один перед форматуванням (інструмент не об'єднує і не відкидає дубльовані ключі автоматично, а вимагає ручного виправлення).
Для швидкого виправлення нетипових або пошкоджених форматів доступна функція Попередній перегляд виправлення. Вона відкриває вікно Попередній перегляд виправлення з двома областями: Оригінал та Після виправлення. Користувач може застосувати зміни кнопкою Застосувати виправлення або скасувати їх за допомогою кнопки Скасувати. Якщо виправлення застосовано, з'являється статус: Виправлення застосовано. Натисніть Ctrl/Cmd+Z, щоб скасувати.. Якщо автоматичне відновлення неможливе, виводиться повідомлення: Не вдалося автоматично виправити ці дані.. Якщо документ завеликий, відображається попередження: Попередній перегляд обрізано — виправлення стосується всього документа..
Інструмент вміє розпізнавати та пропонувати виправлення для таких форматів:
- Схоже на JSON усередині блоку коду Markdown. (Дія: Після застосування залишиться лише JSON усередині блоку коду.)
- Схоже на JSON, екранований усередині рядка. (Дія: Після застосування рядок буде розекрановано у звичайний JSON.)
- Схоже на словник у стилі Python, а не на JSON. (Дія: Після застосування лапки та True/False/None буде переписано як JSON.)
- Схоже на JSON Lines — по одному значенню в рядку. (Дія: Після застосування рядки буде зібрано в один масив JSON.)
- Схоже на JSON, загорнутий у JSONP-колбек. (Дія: Після застосування обгортку колбека буде видалено.)
- Схоже на JSONC — коментарі або кінцеві коми. Перемкніть синтаксис на JSONC або застосуйте виправлення. (Дія: Після застосування коментарі та кінцеві коми буде видалено.)
- Для інших випадків діє загальне правило: Після застосування введені дані буде замінено виправленим JSON.
Навігація за допомогою дерева JSON
Для візуального аналізу структури даних передбачено два режими відображення, які перемикаються кнопками Код та Дерево у меню Вигляд. Інтерактивний режим дерева має назву Дерево JSON.
Якщо вхідні дані містять синтаксичні помилки, режим дерева буде недоступний, а замість нього з'явиться напис: Виправте помилки в JSON, щоб переглянути його у вигляді дерева.. Також діють обмеження на розмір структури:
- Якщо документ завеликий для побудови дерева, відображається повідомлення: Цей JSON завеликий для відображення у вигляді дерева..
- Якщо в документі забагато окремих елементів, з'являється попередження: У цьому JSON забагато значень для відображення у вигляді дерева..
У режимі дерева доступні кнопки Розгорнути все та Згорнути все. Для великих документів діє обмеження на повне розгортання: Цей JSON завеликий, щоб розгорнути його повністю — показано перші {count} рядків.. Користувач може довантажувати гілки дерева за допомогою кнопки Показати ще {count}…. Для керування окремими вузлами використовуються кнопки Розгорнути {key} та Згорнути {key}. Корінь структури завжди має мітку корінь.
Для пошуку всередині дерева передбачено поле з міткою Пошук за ключами та значеннями. Навігація між знайденими збігами здійснюється кнопками Попередній збіг та Наступний збіг. Кількість знайдених результатів відображається у форматі {current} з {total} або {current} з {total}+ (якщо кількість збігів перевищує ліміт підрахунку). Якщо результатів немає, виводиться повідомлення Збігів немає.
Експорт даних та копіювання шляхів
Після завершення обробки JSON-документа користувач може завантажити результат у вигляді файлу за допомогою кнопки Завантажити. Після успішного збереження файлу на пристрій з'являється повідомлення: Завантажено {name}..
Для копіювання окремих елементів структури безпосередньо з дерева JSON передбачено контекстне меню Параметри копіювання для {key}. Воно дозволяє отримати дані у трьох форматах:
- Копіювати значення — копіює безпосередній вміст вибраного вузла.
- Копіювати JSON Pointer — копіює шлях до елемента відповідно до стандарту RFC 6901.
- Копіювати JSONPath — копіює шлях до елемента у форматі запитів JSONPath.
При успішному копіюванні будь-яких даних у буфер обміну інструмент показує статус: Скопійовано в буфер обміну.. Також для зручності роботи в умовах низького освітлення в інтерфейсі доступна опція Темний редактор.
Конфіденційність обробки даних
Ваш JSON обробляється безпосередньо у браузері. Нічого не завантажується на сервери BroBroGo. Усі операції з валідації, форматування, мініфікації та побудови дерева виконуються локально на вашому пристрої за допомогою потужностей вашого веб-браузера.
Часті запитання
Чи завантажується мій JSON на сервер?
Ні. Форматування виконується локально у вашому браузері, і ваш JSON нікуди не завантажується.
Що робить функція мініфікації?
Мініфікація видаляє зайві пробіли та розриви рядків, повністю зберігаючи структуру та дані JSON.
Який максимальний розмір файлу можна відкрити в інструменті?
Максимальний розмір вхідних даних для обробки становить 10 MiB. Файли, що перевищують цей ліміт, не можуть бути відкриті.
Що робити, якщо інструмент показує помилку дубльованого ключа?
Інструмент не об'єднує і не видаляє дубльовані ключі автоматично, щоб запобігти втраті даних. Вам необхідно знайти вказаний ключ та видалити один із дублікатів вручну перед форматуванням.