Povestea din spatele formatatorului JSON

JSON este azi formatul folosit de majoritatea API-urilor web, și totuși niciun comitet nu l-a proiectat. A fost mai degrabă observat decât inventat: un mic subset din JavaScript care s-a dovedit suficient pentru a muta date între programe.

Acolade și blocuri de date imbricate care formează un arbore luminos
Acolade și blocuri de date imbricate care formează un arbore luminos

Un format descoperit

În jurul anului 2001, Douglas Crockford și colegii săi de la State Software căutau o cale prin care un browser și un server să schimbe date fără pluginuri. Au folosit literalii de obiect și tablou pe care JavaScript îi înțelegea deja, au dat ideii un nume și au publicat gramatica pe json.org, destul de scurtă cât să încapă pe spatele unei cărți de vizită.

De ce nu există comentarii

Devreme, Crockford a scos comentariile din JSON pentru că unii începuseră să pună în ele directive pentru parser, ceea ce ar fi stricat interoperabilitatea. Sfatul lui era să elimini comentariile cu un minificator înainte de analiză. De aceea un formatator raportează un comentariu ca un caracter neașteptat și de aceea există formate precum JSON5 și JSONC pentru fișiere de configurare.

De la o pagină web la un standard

JSON a fost descris prima dată în RFC 4627 în 2006. Ecma a publicat ECMA-404 în 2013, iar IETF a înlocuit textele mai vechi cu RFC 8259 în 2017, care cere UTF-8 pentru JSON schimbat între sisteme. Gramatica abia s-a schimbat de la json.org: obiecte, tablouri, șiruri, numere, true, false și null.

Numere și căi

JSON nu limitează numerele, dar majoritatea parserelor le stochează ca valori în virgulă mobilă pe 64 de biți, așa că întregii peste 9007199254740991 pot pierde precizie fără avertisment. De aceea ID-urile mari sunt trimise adesea ca șiruri. Pentru a indica o valoare, Stefan Goessner a propus JSONPath în 2007, după modelul XPath, devenit standardul RFC 9535 în 2024. Căile copiate de acest formatator urmează acea notație cu dolar și paranteze drepte.

Întrebări frecvente

Cine a inventat JSON?

Douglas Crockford a specificat și popularizat JSON la începutul anilor 2000, deși spune că l-a descoperit, pentru că este un subset din JavaScript care exista deja.

De ce JSON nu permite virgule finale sau ghilimele simple?

Gramatica a fost păstrată cât mai mică, astfel încât fiecare limbaj să o analizeze la fel. Fiecare comoditate în plus ar fi o nouă ocazie ca două parsere să nu fie de acord.

Este JSON același lucru cu un obiect JavaScript?

Nu. JSON este text. Cheile cer ghilimele duble, iar funcțiile, undefined, comentariile, NaN și Infinity nu sunt permise, chiar dacă JavaScript le acceptă în cod.

Eşti gata să încerci?

Deschide PictorX în browser-ul tău

Deschide formatatorul JSON