JSON yra tekstinis duomenų formatas, kuris dėl savo paprastos struk­tū­ros dažnai nau­do­ja­mas duomenų per­da­vi­mui tarp skirtingų sistemų. Jis koduoja in­for­ma­ci­ją kaip raktų-verčių poras, kurias gali apdoroti beveik bet kuri prog­ra­ma­vi­mo kalba. Šis formatas taip pat po­pu­lia­rus dėl savo skai­to­mu­mo, plačios su­de­ri­na­mu­mo ir lengvo įgy­ven­di­ni­mo.

Kas yra JSON?

JSON yra plat­for­mai ne­pri­klau­so­mas duomenų formatas, nau­do­ja­mas struk­tū­ri­zuo­tų duomenų per­da­vi­mui ir sau­go­ji­mui. Šis formatas kilo iš Ja­vaSc­ript, tačiau yra visiškai sa­va­ran­kiš­kas, t. y. nėra susietas su Ja­vaSc­ript. Jį palaiko beveik visos prog­ra­ma­vi­mo kalbos. JSON yra grynasis teksto formatas, lengvai skaitomas ir rašomas žmonėms, o mašinoms – efektyvus ana­li­zuo­ti.

Daugeliu atvejų kūrėjai teikia pirmenybę JSON formatui, nes jis pa­leng­vi­na skirtingų tech­no­lo­gi­jų duomenų mainus. Pa­vyz­džiui, kai var­to­to­jas perka drabužį in­ter­ne­ti­nė­je par­duo­tu­vė­je, įvesties duomenys per­duo­da­mi serveriui JSON formatu. Serveris apdoroja duomenis ir atsakymą taip pat siunčia JSON formatu, už­tik­rin­da­mas sklandų duomenų mainą.

Pag­rin­di­nė JSON savybė yra jo aiškumas: duomenų formatas naudoja su­pa­pras­tin­tą ir nuoseklią notaciją, kad in­for­ma­ci­ja būtų pa­tei­kia­ma tiksliai, bet su­pran­ta­mai. Jis taip pat remiasi Unicode, todėl tarp­tau­ti­nius simbolius ir spe­cia­liuo­sius simbolius galima lengvai tvarkyti. Tai reiškia, kad JSON teikia paprastą ir ne­pri­klau­so­mą sprendimą šiuo­lai­ki­niam interneto ir API ryšiui.

Kaip veikia JSON?

JSON do­ku­men­tas turi atitikti nustatytą sintaksę: jis visada prasideda atidarymo skliaus­te­liu { ir baigiasi uždarymo skliaus­te­liu }. Skliaus­te­liuo­se atskiri duomenų laukai api­brė­žia­mi vardų ir verčių poromis. Jos prasideda vardu, po kurio eina dvitaškis : ir vertė. JSON palaiko įvairius duomenų tipus, kurių kiek­vie­nas turi savo atributus ir elgesį kintamųjų sau­go­ji­mui. Tai yra:

  • Objektai: JSON objekto duomenų tipas susideda iš vardų ir verčių porų, įrašytų į skliaus­te­lius. Raktai turi būti unikalūs ir atskirti kab­le­liais.
  • Masyvai: masyvo duomenų tipas atitinka tvarkingą verčių rinkinį. Jos turi būti tipo „Objektas“, „Masyvas“, „Stringas“, „Skaičius“, „Būlio“ arba „Nulis“.
  • Stringai: JSON stringai dažnai naudojami teks­ti­niams duomenims, pvz., vardams ar adresams, saugoti ir perduoti. Stringai yra įrašomi tarp dvigubų kabučių ”” ir gali būti sudaryti iš visų Unicode simbolių.
  • Boolean: Boolean reikšmės gali būti true arba false. Jos trak­tuo­ja­mos kaip stygos, bet nėra įrašytos į kabutes.
  • Skait­me­nys: Šis duomenų tipas nau­do­ja­mas saugoti skait­me­ni­nes vertes įvairiais tikslais, pvz., duomenų analizei ar skai­čia­vi­mams. JSON palaiko tiek teigiamus, tiek neigiamus skaičius, taip pat de­šim­tai­nius skaičius.
  • Null: Kai kin­ta­ma­sis yra tuščias, tai galima išreikšti pri­ski­riant jam Null.

Šis pavyzdys iliust­ruo­ja JSON duomenų rinkinio struktūrą:

{ 
    "dataField1": "Value", 
    "dataObject": { 
        "field1": 123, 
        "field2": "Text", 
        "field3Array": ["Value1", "Value2", "Value3", "Value4"] 
    } 
}
json

Kokie yra JSON pri­va­lu­mai?

JSON yra labai ver­ti­na­mas daugelyje sričių dėl savo pa­pras­tu­mo ir efek­ty­vu­mo, todėl jis yra po­pu­lia­riau­sias formatas daugelyje šiuo­lai­ki­nių programų. Toliau pa­teik­to­je ap­žval­go­je išvardyti pag­rin­di­niai JSON pri­va­lu­mai:

  • Lengvas ir kom­pak­tiš­kas: JSON pašalina ne­rei­ka­lin­gus žymėjimo elementus ir naudoja tik keletą struk­tū­ri­nių simbolių, todėl sumažėja saugojimo rei­ka­la­vi­mai ir perdavimo apimtis.

  • Lengvai skaitomas: aiški JSON sintaksė yra su­pran­ta­ma net ir be specialių žinių. Net dideli duomenų rinkiniai išlieka tvarkingi, todėl lengviau atlikti klaidų taisymą.

  • Platus pa­lai­ky­mas: nesvarbu, ar tai Ja­vaSc­ript, Python, Java, PHP, ar C# – JSON yra na­tū­ra­liai pa­lai­ko­mas beveik visose prog­ra­ma­vi­mo kalbose ir sistemose arba teikiamas per stan­dar­ti­nes bi­b­lio­te­kas. Daugelis NoSQL duomenų bazių, pvz., MongoDB ar CouchDB, do­ku­men­tus saugo tie­sio­giai JSON formatu arba JSON tipo duomenų formatu, todėl sumažėja kon­ver­ta­vi­mo pastangos.

  • Lankstus duomenų mo­de­lia­vi­mas: pa­lai­ky­mas įterptoms struk­tū­roms leidžia be jokių problemų at­vaiz­duo­ti su­dė­tin­gus ir hie­rar­chi­nius duomenų modelius.

Kam paprastai nau­do­ja­mas JSON?

Dėl savo uni­ver­sa­lių privalumų JSON duomenų formatas nau­do­ja­mas prak­tiš­kai visose prog­ra­mi­nės įrangos kūrimo srityse. Kla­si­ki­nės taikymo sritys apima:

  • Duomenų per­da­vi­mas tarp platformų: JSON yra idealus duomenų mainams tarp skirtingų sistemų ir prog­ra­ma­vi­mo kalbų.
  • Dinaminių JSON duomenų kūrimas iš vartotojo įvesties: JSON puikiai tinka laikinai saugoti vartotojo sukurtą in­for­ma­ci­ją struk­tū­ri­zuo­tu būdu. Pa­vyz­džiui, galima tie­sio­giai kon­ver­tuo­ti svetainės formos laukelius į JSON objektą ir juos se­ria­li­zuo­ti.
  • Duomenų kon­fi­gū­ra­vi­mas prog­ra­moms: kiek­vie­nai programai reikia ati­tin­ka­mų pri­si­jun­gi­mo duomenų, kad galėtų pri­si­jung­ti prie duomenų bazės. Pri­si­jun­gi­mo duomenys ir žurnalo failo kelias gali būti nurodyti JSON faile, kurį gali naudoti visos su­si­ju­sios šalys.
  • Sudėtingų duomenų struktūrų su­pa­pras­ti­ni­mas: JSON su­dė­tin­gus do­ku­men­tus su­pa­pras­ti­na iki esminių elementų ir kon­ver­tuo­ja juos į lengvai skaitomas struk­tū­ras. Tai padidina duomenų modelių skaidrumą ir pa­leng­vi­na prieigą prie reikiamos in­for­ma­ci­jos.
  • Kon­fi­gū­ra­ci­jos failai: JSON do­ku­men­tus lengva ieškoti ir redaguoti, todėl šis formatas dažnai nau­do­ja­mas kon­fi­gū­ra­ci­jos failams, ypač Ja­vaSc­ript eko­sis­te­mo­se, pvz., Node.js.

Kokios yra JSON al­ter­na­ty­vos?

Nors JSON formatas daugeliu atvejų laikomas stan­dar­ti­niu, yra ir kitų duomenų formatų, kurie tam tikrais atvejais gali būti dar labiau tinkami. Kai kurios iš ge­riau­siai žinomų al­ter­na­ty­vų yra:

  • XML (Exten­si­b­le Markup Language): prieš JSON iš­po­pu­lia­rė­ji­mą XML buvo daž­niau­siai nau­do­ja­mas duomenų se­ri­ja­vi­mo formatas. Šis griežtai ti­pi­zuo­tas ir lankstus teksto formatas gali saugoti su­dė­tin­gas duomenų struk­tū­ras ir me­ta­duo­me­nis. Šis formatas taip pat turi schemos api­brė­ži­mus (XSD) ir trans­for­ma­ci­jas (XSLT), tačiau jį sunkiau skaityti nei JSON.
  • YAML (YAML Ain’t Markup Language): Šis kom­piu­te­riui su­pran­ta­mas formatas daž­niau­siai nau­do­ja­mas kon­fi­gū­ra­ci­jos failams ir yra JSON iš­plė­ti­mas, pa­lai­kan­tis ko­men­ta­rus. YAML formatas pasižymi aiškia sintakse, tačiau yra su­dė­tin­ges­nis apdoroti ir linkęs į sintaksės klaidas.
  • Protobuf (Protocol Buffers): tai yra „Google“ sukurtas dve­je­tai­nis duomenų formatas, žinomas dėl savo kom­pak­tiš­ku­mo ir didelio efek­ty­vu­mo. Tačiau Protobuf rei­ka­lau­ja schemos api­brė­ži­mų. Be to, formatas nėra skaitomas žmonėms, o tai gali ap­sun­kin­ti klaidų taisymą.
Go to Main Menu