Разумевање JSON синтаксе и структуре
JSON (JavaScript Object Notation) представља стандардизовани формат за размену података заснован на тексту. Његова структура се ослања на два основна концепта: колекције парова кључ-вредност (објекти) и уређене листе вредности (низови). Како би подаци били валидни, JSON захтева стриктно поштовање синтаксних правила, као што је обавезно коришћење двоструких наводника за кључеве и текстуалне вредности.
Овај формат је постао кључни чинилац у размени података и комуникацији између веб апликација и сервера путем API сервиса. Правилно структуриран JSON омогућава рачунарским системима да лако рашчлане и генеришу податке без обзира на програмски језик који се користи.
Валидација и идентификација синтаксних грешака
Процес валидације је неопходан корак пре било какве даље обраде JSON података. Чак и најмања грешка у куцању, попут изостављеног знака интерпункције, чини цео документ неупотребљивим за парсере.
Алат врши аутоматску проверу уноса и прецизно детектује следеће синтаксне неправилности:
- Недостаје зарез између ставки
- Вишак зареза пре затварајуће заграде
- Кључеви објекта морају бити под двоструким наводницима
- Недостаје двотачка после назива својства
- Ниски недостаје затварајући наводник
- JSON се завршава прерано — изгледа да је одсечен
- Неочекиван знак тамо где треба да стоји вредност
- Овај JSON је превише угнежден да би се обрадио
- Дуплирани кључ
{key}— уклоните један пре форматирања
Уколико унос садржи грешку, кориснику се приказује тачна локација кроз поруку типа ред {line}, колона {col} уз дугме Иди на грешку како би се проблем брзо лоцирао и отклонио. Такође, велики цели бројеви се током ових операција чувају у потпуности без губитка прецизности.
Технике форматирања и минификације
Форматирање прилагођава сирови, често непрегледни текстуални запис JSON-а тако што додаје одговарајуће размаке и преломе редова. Корисник може изабрати жељени ниво за Увлачење и дефинисати опцију за Синтакса између стандардног "JSON" и "JSONC" формата који подржава коментаре. Након успешног процеса, систем исписује обавештење JSON је форматиран..
Насупрот томе, минификација је поступак оптимизације података за пренос или складиштење. Клик на дугме Минификуј уклања све сувишне размаке, табулаторе и преломе редова, чиме се смањује укупна величина датотеке. По завршетку ове операције појављује се статус JSON је минификован..
Током рада са подацима, корисник у сваком тренутку има увид у основне метрике документа:
- Карактери: укупан број знакова у уносу.
- Редови: број линија у тексту.
- Величина: укупна тежина података.
Навигација кроз сложене структуре помоћу стабла
За анализу комплексних докумената са много угнеждених нивоа, поред приказа Код, алат нуди и интерактивни приказ Стабло. Овај режим омогућава визуелно истраживање структуре кроз ознаку JSON стабло.
Унутар овог приказа доступне су следеће функционалности:
- Претражи кључеве и вредности: претрага специфичних делова унутар објеката. Резултати се приказују у формату
{current}од{total}или{current}од{total}+ уколико је број погодака лимитиран, док се у случају неуспеха исписује Нема подударања. За кретање кроз резултате користе се тастери Претходно подударање и Следеће подударање. - Прошири све и Скупи све: брзо отварање или затварање свих грана у стаблу.
- Појединачно управљање чворовима путем команди Прошири
{key}и Скупи{key}, где је почетни елемент означен као корен.
Приказ стабла има одређена техничка ограничења ради очувања перформанси прегледача. Ако је унос неисправан, приказује се порука Исправите JSON да бисте га видели као стабло.. Ако су подаци превелики, систем исписује Овај JSON је превелик за приказ у облику стабла. или Овај JSON има превише вредности за приказ у виду стабла.. Приликом покушаја потпуног ширења великих грана, приказ се ограничава уз обавештење Овај JSON је превелик за потпуно проширење — приказано је првих {count} редова. и нуди се опција Прикажи још {count}….
Екстракција података помоћу JSON Pointer и JSONPath
Када је потребно издвојити тачно одређени део из велике структуре података, десни клик или интеракција са чвором отвара мени под називом Опције копирања за {key}. Овај мени нуди три различите методе за преузимање информација:
- Копирај вредност: преузима се само конкретна вредност изабраног кључа.
- Копирај JSON Pointer: генерише се стандардизована путања према RFC 6901 спецификацији (нпр.
/user/profile/id). - Копирај JSONPath: креира се упит за селекцију елемената унутар JSON документа (нпр.
$.user.profile.id).
Рад са нестандардним форматима и аутоматске исправке
Алат има способност препознавања неколико сродних формата који одступају од строгог JSON стандарда, нудећи опцију Преглед исправке кроз прозор Преглед исправке са пољима Оригинал и После исправке:
| Детектовани формат | Порука система | Акција приликом примене исправке |
|---|---|---|
| Markdown блок | Ово личи на JSON у Markdown кодном блоку. | Применом остаје само JSON унутар кодног блока. |
| Escape-ован стринг | Ово личи на JSON escape-ован унутар стринга. | Применом се стринг раскодира у обичан JSON. |
| Python речник | Ово личи на речник у Python стилу, а не на JSON. | Применом се наводници и True/False/None преписују као JSON. |
| JSON Lines | Ово личи на JSON Lines — једна вредност по реду. | Применом се редови спајају у један JSON низ. |
| JSONP callback | Ово личи на JSON умотан у JSONP callback. | Применом се омотач callback-а уклања. |
| JSONC формат | Ово личи на JSONC — коментари или завршни зарези. Пребаците синтаксу на JSONC или примените исправку. | Применом се коментари и завршни зарези уклањају. |
За све остале неспецификоване исправке користи се опција Применом се унос замењује поправљеним JSON-ом.. Након клика на Примени исправку, систем исписује Исправка је примењена. Притисните Ctrl/Cmd+Z да опозовете.. Уколико аутоматска поправка није могућа, појављује се обавештење Овај унос није могуће аутоматски поправити.. Ако је документ превелик, приказује се упозорење Преглед је скраћен — исправка се односи на цео документ..
Додатна функционалност је и Сортирај кључеве која, према опису Рекурзивно сортира кључеве објеката по кодним тачкама. Редослед у низовима се никада не мења., ређа елементе по абецедном редоследу. Након извршења ове операције појављује се обавештење Кључеви су сортирани — редослед низова је непромењен. Притисните Ctrl/Cmd+Z да опозовете..
Ограничења приликом увоза и обраде великих датотека
Приликом учитавања датотека путем опције Отвори датотеку или превлачењем у простор са ознаком Превуците овде.json или.txt датотеку, примењују се следећа техничка правила и ограничења:
- Максимална величина уноса: Алат подржава датотеке до максимално 10 MiB. Уколико се ова граница прекорачи, исписује се порука Датотека је превелика — ограничење је
{limit}. или Унос је већи од{limit}, што је више него што овај алат може да обради.. - Формат и кодирање: Подржане су искључиво
.jsonи.txtдатотеке. У супротном, систем јавља грешку Неподржан тип датотеке — изаберите.json или.txt датотеку.. Датотека мора бити UTF-8 кодирана, иначе ће бити одбијена уз поруку Ова датотека није UTF-8 текст, па се овде не може отворити.. - Грешке при читању: Ако систем не успе да приступи медијуму, исписује се Датотека није могла да се прочита. Покушајте да је изаберете поново..
- Временско ограничење: Синхрона обрада се покреће за документе краће од 250.000 карактера. За веће документе, уколико анализа потраје превише дуго, процес се прекида уз обавештење Провера овог JSON-а је трајала предуго и заустављена је. Покушајте са мањим документом..
Након успешног увоза исписује се статус Учитано: {name} ({size}).. Након обраде, корисник може сачувати документ кликом на Преузми, што резултира обавештењем Преузето: {name}. или једноставно копирати садржај када се појављује статус Копирано у клипборд..
Приватност и сигурност података
Ваш JSON се обрађује у вашем прегледачу. Ништа се не шаље на BroBroGo. Све операције форматирања, валидације, минификације и парсирања извршавају се локално на вашем уређају, без икаквог преноса података преко мреже или отпремања на спољне сервере.
Често постављана питања (FAQ)
Да ли се мој JSON отпрема на интернет?
Не. Форматер се покреће у вашем прегледачу и не отпрема ваш JSON на сервер.
Шта ради опција за минификацију (minify)?
Минификација уклања непотребне размаке и преломе редова, задржавајући исте JSON податке.
Шта се дешава ако мој JSON садржи дуплиране кључеве унутар објекта?
Алат неће нечујно спојити или одбацити вредности, већ ће пријавити грешку како бисте могли ручно да уклоните дупликат пре форматирања.
Могу ли да форматирам датотеке веће од 10 MiB?
Не, максимална подржана величина датотеке коју овај алат може да обради износи 10 MiB.