Прескочи на садржај

JSON Форматер: Минимизирање и Улепшавање JSON-а Онлајн Бесплатно

Бесплатни JSON форматер за тренутно минимизирање и улепшавање JSON-а. Компресујте JSON, проверите синтаксу и прикажите са правилним увлачењем. Брз, безбедан алат заснован на прегледачу.

JSON Форматер

Kalkulator učitavanja...
📚

Dokumentacija

Форматер JSON-а: минимизовање и улепшавање JSON-а

Форматер JSON-а је алат који преписује JSON текст у другачијем распореду, без промене података у њему. Овај форматер JSON-а ради две ствари: минимизује JSON уклањањем сувишних размака и улепшава JSON додавањем увлачења и прелома редова како би људи могли да га читају.

Шта је JSON?

JSON, скраћено од JavaScript Object Notation, јесте текстуални формат за чување и слање података. Веб сервери га користе за слање информација апликацијама и прегледачима. Програми га користе за датотеке са подешавањима. Он чува податке као објекте, записане витичастим заградама {}, и низове, записане угластим заградама []. Унутар објекта сваки део података има име, које се назива кључ, и вредност. Вредност може бити стринг, број, true, false, null или други објекат или низ.

Мали JSON објекат изгледа овако:

1{
2  "name": "John Doe",
3  "age": 30,
4  "isEmployee": true
5}
6

Како овај форматер JSON-а ради

Неки алати за JSON учитавају текст у сопствену структуру података програмског језика, а затим ту структуру поново исписују као текст. Тај повратни пролаз може да промени податке. Може да препише веома велике бројеве, изостави бројеве који су превелики за представљање и промени редослед кључева у објекту.

Овај алат то избегава. Он чита улаз знак по знак и проверава да ли прати граматику JSON-а. Приликом преписивања излаза копира сваки број и сваки стринг тачно онако како су унети, истим редоследом. Минимизовање или улепшавање документа никада не мења број, кључ, редослед кључева нити дуплирани кључ.

Ако текст није исправан JSON, алат се зауставља и приказује грешку, уместо да погађа шта је требало да значи.

Форматирање се обавља у прегледачу. Алат не шаље налепљени текст серверу. Улаз се додаје веб адреси странице као параметар упита, па форматирани документ може да се дели или сачува као обележивач помоћу везе.

Како минимизовати JSON

  1. Налепите JSON у поље за унос.
  2. Кликните на „Minify“.
  3. Алат уклања размаке, табулаторе и преломе редова између токена и приказује резултат испод.
  4. Кликните на „Copy“ изнад резултата да бисте га копирали.

Решен пример

Пре:

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-а

Уштеђени простор може се записати овако:

Уштеђени простор=(1−минимизована величинапрвобитна величина)×100%\text{Уштеђени простор} = \left(1 - \frac{\text{минимизована величина}}{\text{првобитна величина}}\right) \times 100\%

За горњи пример, форматирана верзија има 98 бајтова, а минимизована верзија 67 бајтова:

(1−6798)×100%≈32%\left(1 - \frac{67}{98}\right) \times 100\% \approx 32\%

Тачна уштеда зависи од количине празнина и увлачења у првобитном документу. Документ са дубоким угнежђивањем и увлачењем од 4 размака смањује се више од документа који је већ био компактан.

Како улепшати JSON

  1. Налепите JSON у поље за унос. Он већ може бити минимизован или неуредно форматиран.
  2. Кликните на „Beautify“.
  3. Алат додаје увлачење од 2 размака, један прелом реда по кључу или ставци низа и размак после сваке двотачке.
  4. Кликните на „Copy“ изнад резултата да бисте га копирали.

Решен пример

Пре:

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 има строгу граматику, строжију од граматике типичног програмског језика. Овај алат одбацује текст који крши неко од ових правила и приказује поруку „Invalid JSON“ уместо резултата:

  • Зарез који недостаје између две вредности.
  • Зарез после последње ставке у објекту или низу (није дозвољен у JSON-у, за разлику од JavaScript-а).
  • Кључ који није обухваћен двоструким наводницима.
  • Једноструки наводници око ниске уместо двоструких наводника.
  • Неусклађене или недостајуће угласте и витичасте заграде.
  • Неисправна или непотпуна излазна секвенца унутар стринга, као што је усамљена обрнута коса црта.
  • Контролни знак, као што је стварни прелом реда или табулатор, унет унутар ниске уместо записаног као \n или \t.
  • Број у облику који JSON не дозвољава, као што је почетна нула (01), децимална тачка на крају (1.) или почетни знак плус (+1).

JSON такође нема синтаксу за коментаре. Текст који почиње са // или /* није део граматике JSON-а, па налепљивање JSON-а који садржи коментаре производи грешку „Invalid JSON“, уместо JSON-а из ког су коментари тихо уклоњени. Да бисте форматирали такву датотеку, прво уклоните коментаре.

Случајеви употребе форматера JSON-а

  • Веб развој: читање одговора API-ја током отклањања грешака и минимизовање конфигурационих датотека пре постављања.
  • Развој API-ја: провера да ли је тело захтева или одговора исправно формиран JSON.
  • Анализа података: претварање компактног JSON извоза у читљив распоред ради прегледа.
  • Конфигурационе датотеке: улепшавање конфигурационе датотеке пре ручног уређивања, а затим њено поновно минимизовање.

Алтернативе

Уређивачи кода, као што је Visual Studio Code, могу да форматирају JSON датотеке без напуштања уређивача. Алатке командне линије, као што је jq, могу да форматирају и филтрирају JSON у оквиру скрипте. Програмски језици такође садрже библиотеке за JSON, као што су Python-ов модул json или уграђени JavaScript објекат JSON, које већина програма користи за рашчлањивање JSON-а у сопствене структуре података. Онлајн форматер попут овог користан је када је потребна брза, једнократна провера без инсталирања било чега.

Историја JSON-а

Douglas Crockford је дефинисао ЈСОН почетком 2000-их, на основу начина на који Јаваскрипт записује литерале објеката, али тако да га може читати и писати сваки програмски језик. Формат је први пут јавно документован око 2001. године, а касније је стандардизован као RFC 4627 (11.800 cm) 2006. године, као ECMA-404 (1.030 cm) 2013. године и као RFC 8259 (21.000 cm) 2017. године. Како су се веб АПИ-ји развијали током 2000-их, ЈСОН је заменио ИксМЛ као најчешћи формат за слање података између сервера и прегледача, углавном зато што је краћи и директно се пресликава на структуре података већ уграђене у Јаваскрипт. Алати за форматирање и проверу појавили су се како су ЈСОН документи постајали већи и дубље угнежђени.

Најчешће постављана питања

Да ли минимизовање уклања коментаре из JSON-а? Не. JSON нема синтаксу за коментаре, а овај алат је не додаје. Ако улаз садржи коментаре у облику // или /*, алат пријављује грешку „Invalid JSON“ уместо да га форматира. Уклоните коментаре пре него што налепите текст.

Да ли форматирање мења моје бројеве или редослед мојих кључева? Не. Алат копира сваки број и ниску тачно онако како су написани и задржава кључеве у њиховом првобитном редоследу, укључујући дуплиране кључеве ако постоје.

Које увлачење користи алат за улепшавање? Два размака по нивоу угнежђивања, са размаком после сваке двотачке.

Да ли се моји JSON подаци шаљу серверу? Не. Форматирање се извршава у прегледачу. Текст који налепите копира се у URL странице као параметар упита json, па страница може да се дели или сачува као обележивач. Ништа се не отпрема.

Постоји ли ограничење величине? Не постоји фиксно ограничење, али се цео документ чува у меморији док се рашчлањује, па веома велика датотека, од више мегабајта, може бити спора на старијем уређају.

Да ли ће неисправан JSON само делимично бити поправљен? Не. Ако улаз било где крши граматику JSON-а, алат приказује грешку уместо да врати делимичан резултат или резултат заснован на претпоставци.

Референце

  1. "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
  2. Bray, T., ур. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, децембар 2017, https://www.rfc-editor.org/rfc/rfc8259.
  3. "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
  4. "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.