JSON on teks­ti­põ­hine and­me­vor­ming, mida ka­su­ta­takse sageli andmete edas­ta­miseks erinevate süs­teemide vahel tänu oma lihtsale struk­tuu­rile. See kodeerib teavet võtme-väärtuse paaridena, mida peaaegu iga prog­ram­mee­ri­mis­keel suudab töödelda. Vorming on po­pu­laarne ka tänu oma loe­ta­vu­sele, laiale ühil­du­vu­sele ja lihtsale ra­ken­da­misele.

Mis on JSON?

JSON on plat­vor­mist sõltumatu and­me­vor­ming, mida ka­su­ta­takse struk­tu­ree­ri­tud andmete edas­ta­miseks ja sal­ves­ta­miseks. Vorming on pärit Ja­vaSc­rip­tist, kuid on täiesti iseseisev, mis tähendab, et see ei ole Ja­vaSc­rip­tiga seotud. Seda toetavad peaaegu kõik prog­ram­mee­ri­mis­kee­led. JSON on puhas teks­ti­vor­ming, mida inimestel on lihtne lugeda ja kirjutada ning masinatel tõhusalt ana­lüü­sida.

Paljudel juhtudel eelis­ta­vad arendajad JSON-vormingut peamiselt seetõttu, et see hõlbustab teh­no­loo­gia­ülest and­me­va­he­tust. Näiteks kui kasutaja ostab vee­bi­poest rii­dee­seme, edas­ta­takse si­ses­ta­tud andmed serverile JSON-vormingus. Server töötleb andmed ja saadab vastuse samuti JSON-vormingus tagasi, tagades sujuva and­me­va­he­tuse.

JSONi peamine omadus on selgus: and­me­vor­ming kasutab liht­sus­ta­tud ja ühtset mär­gis­tust, et esitada teavet täpselt, kuid aru­saa­da­valt. Samuti tugineb see Unicode’ile, mis võimaldab hõlpsasti käsitleda rah­vus­va­he­lisi tähemärke ja eri­süm­bo­leid. See tähendab, et JSON pakub lihtsat ja sõl­tu­ma­tut lahendust kaasaegse veebi- ja API-suht­luseks.

Kuidas JSON töötab?

JSON-dokument peab järgima kindlat süntaksit: see algab alati avava sulguga { ja lõpeb sulguga }. Sulgude vahel on üksikud and­me­väl­jad mää­rat­le­tud nime-väärtuse paaridena. Need algavad nimega, millele järgneb koolon : ja väärtus. JSON toetab erinevaid and­me­tüüpe, millest igaühel on oma at­ri­buu­did ja käitumine muutujate sal­ves­ta­miseks. Nende hulka kuuluvad:

  • Objektid: JSON-objekti andmetüüp koosneb nimede ja väärtuste paaridest, mis on sulgudes. Võtmed peavad olema uni­kaal­sed stringid, mis on eraldatud komadega.
  • Massiivid: Massiivi andmetüüp esindab jär­jes­ta­tud väärtuste kogumit. Need peavad olema tüübist Object, Array, String, Number, Boolean või Null.
  • Stringid: JSONis ka­su­ta­takse stringe sageli teks­ti­põ­histe andmete, nagu nimede või aad­res­side sal­ves­ta­miseks ja edas­ta­miseks. Stringid on sulgudes ”” ja või­mal­da­vad kogu Unicode’i tä­he­mär­kide valikut.
  • Boolean: Boole’i väärtused võivad olla kas true või false. Neid kä­sit­le­takse strin­gi­dena, kuid neid ei ümbritse ju­tu­mär­gid.
  • Number: seda and­me­tüüpi ka­su­ta­takse numb­ri­liste väärtuste sal­ves­ta­miseks eri­ne­va­tel ees­mär­ki­del, näiteks andmete ana­lüü­si­miseks või arvutuste te­ge­miseks. JSON toetab nii po­si­tiiv­seid kui ka ne­ga­tiiv­seid numbreid, samuti küm­nend­kohti.
  • Null: Kui muutuja on tühi, saab seda väl­jen­dada, määrates sellele väärtuse Null.

Järgmine näide il­lust­ree­rib JSON-and­me­ko­gumi struk­tuuri:

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

Millised on JSONi eelised?

JSON on tänu oma liht­su­sele ja tõ­hu­su­sele paljudes vald­kon­da­des väga hinnatud, mistõttu on see paljude kaas­aeg­sete ra­ken­duste eelis­ta­tud formaat. Järgmises ülevaates on loetletud JSONi peamised eelised:

  • Kerge ja ruumi säästev: JSON kõrvaldab mit­te­va­ja­li­kud mär­gis­tus­e­le­men­did ja kasutab vaid mõningaid struk­tuu­ri­märke, vä­hen­da­des seeläbi sal­ves­tus­ruumi vajadust ja edas­ta­tava and­me­hulka.
  • Lihtne loetavus: JSONi selge süntaks on arusaadav ka ilma eri­tead­mis­teta. Isegi suuremad and­me­ko­gu­mid jäävad or­ga­ni­see­ri­tuks, mis muudab vea­ot­singu liht­sa­maks.
  • Lai tugi: olgu tegemist Ja­vaSc­ripti, Pythoni, Java, PHP või C#-ga – JSON-i toetavad peaaegu kõik prog­ram­mee­ri­mis­kee­led ja raa­mis­ti­kud või see on saadaval stan­dard­raa­ma­tu­ko­gude kaudu. Paljud NoSQL-and­me­baasid, nagu MongoDB või CouchDB, sal­ves­ta­vad do­ku­men­did otse JSON-vormingus või JSON-laadses and­me­vor­min­gus, mis vähendab tei­sen­da­mise vaeva.
  • Paindlik and­me­mo­del­lee­ri­mine: pe­sas­ta­tud struk­tuu­ride tugi võimaldab keerukaid ja hie­rar­hilisi and­me­mu­de­leid prob­leemi­deta kaar­dis­tada.

Milleks JSONi ta­va­li­selt ka­su­ta­takse?

Tänu oma mit­me­külg­se­tele eelistele ka­su­ta­takse JSON-and­me­vor­min­gut peaaegu kõigis tark­va­raa­ren­duse vald­kon­da­des. Klas­si­ka­li­sed ra­ken­dus­alad on järgmised:

  • Plat­vor­mi­ülene and­meedas­tus: JSON on ideaalne andmete va­he­ta­miseks erinevate süs­teemide ja prog­ram­mee­ri­mis­keelte vahel.
  • Dü­naa­mi­liste JSON-andmete loomine kasutaja si­ses­tuste põhjal: JSON sobib suu­re­pä­ra­selt ajutise, kasutaja loodud teabe struk­tu­ree­ri­tud sal­ves­ta­miseks. Näiteks on võimalik vee­bi­saidi vor­mi­väl­jad otse JSON-objektiks tei­sen­dada ja se­ria­li­see­rida.
  • Andmete kon­fi­gu­ree­ri­mine ra­ken­duste jaoks: iga rakendus vajab and­me­baasiga ühen­da­miseks sobivaid sis­se­lo­gi­mis­and­meid. Sis­se­lo­gi­mis­and­med ja logifaili asukoht saab määrata JSON-failis, mida kõik as­ja­osa­li­sed saavad kasutada.
  • Kee­ru­liste and­me­st­ruk­tuu­ride liht­sus­ta­mine: JSON vähendab kee­ru­li­sed do­ku­men­did olu­lis­teks ele­men­ti­deks ja teisendab need kergesti loe­ta­va­teks struk­tuu­ri­deks. See suurendab and­me­mu­de­lite lä­bi­paist­vust ja muudab as­ja­ko­hase teabe kät­te­saa­da­vuse liht­sa­maks.
  • Kon­fi­gu­rat­sioo­ni­fai­lid: JSON-dokumente on lihtne otsida ja muuta, mistõttu seda formaati ka­su­ta­takse sageli kon­fi­gu­rat­sioo­ni­fai­lide jaoks – eriti Ja­vaSc­ripti öko­süs­teemi­des nagu Node.js.

Millised on JSONi al­ter­na­tiivid?

Kuigi JSON-vormingut peetakse paljudel juhtudel stan­dar­diks, on olemas ka teisi and­me­vor­min­guid, mis võivad tea­ta­va­tes olu­kor­da­des olla veelgi sobivamad. Mõned tuntumad al­ter­na­tiivid on järgmised:

  • XML (Ex­ten­sible Markup Language): Enne JSONi tõusu oli XML kõige levinum andmete se­ria­li­see­ri­mise formaat. Tugevalt tüübitud ja paindlik teks­ti­for­maat võimaldab sal­ves­tada keerukaid and­me­st­ruk­tuure ja me­ta­and­meid. Formaatil on ka skeemi­de­fi­nit­sioo­nid (XSD) ja tei­sen­dused (XSLT), kuid see on JSONist raskemini loetav.
  • YAML (YAML Ain’t Markup Language): Seda ma­sin­loe­ta­vat formaati ka­su­ta­takse peamiselt kon­fi­gu­rat­sioo­ni­fai­lide jaoks ja see on JSONi laiendus, mis toetab kom­men­taare. YAML-formaat pakub selget süntaksit, kuid on kee­ru­li­sem töödelda ja kalduv sün­tak­si­vi­ga­dele.
  • Protobuf (Protocol Buffers): See on Google’i binaarne and­me­vor­ming, mis on tuntud oma kom­pakt­suse ja suure efek­tiiv­suse poolest. Protobuf nõuab aga skeemi­de­fi­nit­sioone. Lisaks ei ole vorming ini­mes­tele loetav, mis võib kee­ru­li­seks teha vea­ot­singu.
Go to Main Menu