- 1 1. Mis on JSON? Andmevormingu põhimõistete mõistmine
- 2 2. JSON-i põhisüntaks ja omadused
- 3 3. JSON-i konkreetsed kasutusnäited
- 4 4. JSON-i manipuleerimine ja töötlemine
- 5 5. JSON-i rakendused ja uusimad tehnoloogiad
- 6 6. JSON-i võrdlus teiste andmevormingutega
- 7 7. JSON-i tulevik ja edasised arengud
- 8 8. Kokkuvõte ja lisamaterjalid
- 9 KKK: Korduma kippuvad küsimused JSON-i kohta
- 9.1 1. Mis on JSON?
- 9.2 2. Millistes valdkondades JSON-i kasutatakse?
- 9.3 3. Milliseid andmetüüpe JSON toetab?
- 9.4 4. Kuidas erineb JSON XML-ist?
- 9.5 5. Mis on JSON-i ja YAML-i erinevus?
- 9.6 6. Millistes programmeerimiskeeltes saab JSON-i kasutada?
- 9.7 7. Kas JSON-ile saab kommentaare lisada?
- 9.8 8. Kuidas JSON-i veakäsitlust teostada?
- 9.9 9. Kas JSON-i saab teisendada binaarvormingusse?
- 9.10 10. Mis on JSON-i uusimad trendid ja tehnoloogiad?
- 9.11 Kokkuvõte
1. Mis on JSON? Andmevormingu põhimõistete mõistmine
JSON-i definitsioon ja põhimõisted
JSON on tekstipõhine formaat, mis esindab andmeid peamiselt võtme-väärtuse paaridena. See struktuur sobib suurepäraselt andmevahetuseks programmide vahel.
Näiteks saab kasutajateavet JSON-vormingus väljendada järgmiselt:
{
"name": "佐藤",
"age": 30,
"email": "sato@example.com"
}
Selles näites on võtmed “name”, “age” ja “email”, millele vastavad väärtused on määratud. See teeb andmed kergesti loetavaks nii inimestele kui ka tõhusaks töötlemiseks arvutite poolt.
JSON-i omadused ja eelised
- Kerge ja lihtne
- JSON on kompaktne formaat ja ei sisalda üleliigset infot, mis muudab selle tõhusaks suhtluses ja andmete salvestamisel.
- Kõrge loetavus
- Võrreldes XML-i või binaarvormingutega on JSON visuaalselt selgem, mis teeb silumise ja parandamise lihtsaks.
- Sõltumatu programmeerimiskeeltest
- Kuna paljud programmeerimiskeeled, sealhulgas JavaScript, seda toetavad, on JSON-i ühilduvus kõrge ja seda saab kasutada laialdaselt.
- Hästi kooskõlas objektorienteeritud programmeerimisega
- JSON on loodud objektipõhiselt ja sobib loomulikult objektorienteeritud programmeerimisega.
JSON-i leviku taust
Kuna JSON põhineb algselt JavaScripti objektisüntaksil, levis see kiiresti **standardse vorminguna veebirakenduste arenduses**.
Eriti REST API-dega andmevahetuses on see laialdaselt kasutusel tänu oma lihtsusele ja ühilduvusele. Võrreldes XML-iga on JSON-i maht väiksem ja parsimine kiirem, mistõttu sobib see hästi ka mobiilirakenduste ja pilveteenustega.
JSON-i peamised kasutusvaldkonnad
- API vastused ja päringud
- Seda kasutatakse laialdaselt andmevahetuseks veebiteenuste vahel. Näiteks ilm.ee API-st andmete vastuvõtmine JSON-vormingus on tavaline.
- Konfiguratsioonifailid
- JSON-i kasutatakse rakenduse konfiguratsiooni salvestamise vorminguna. Seda kasutatakse sageli konfiguratsioonifailides (config.json).
- Andmete salvestamine ja andmebaasid
- NoSQL andmebaasides (nt MongoDB) kasutatakse JSON-põhist vormingut andmemudelina.
- Andmeanalüüs ja logihaldus
- Seda kasutatakse ka andmeanalüüsil ja vealogide salvestamisel, kus JSON-i struktuur teeb analüüsi lihtsaks.
Kokkuvõte
JSON on **kerge ja lihtne andmevahetusformaat**, mida on standardina kasutusel paljudes süsteemides, nagu programmeerimiskeeled, andmebaasid ja API-d. Tänu oma loetavusele ja paindlikkusele on see tööriist, mida kasutavad laialdaselt nii algajad kui ka edasijõudnud.
Järgmises jaotises selgitame JSON-i põhisüntaksit üksikasjalikumalt ja süvendame arusaamist reaalsete koodinäidete abil.

2. JSON-i põhisüntaks ja omadused
JSON-i põhistruktuur
JSON koosneb põhimõtteliselt **võtme-väärtuse paaridest**. Andmed kirjeldatakse järgmiselt, kasutades loogelisi sulge {}
.
**Näide: Kasutajateavet esindav JSON**
{
"name": "佐藤",
"age": 30,
"email": "sato@example.com",
"isMember": true
}
- **Võtmed** (nt “name”, “age”) peavad alati olema stringid.
- **Väärtuseks** võib olla string, number, boolean (tõeväärtus), null, massiiv või objekt.
Andmetüübid ja nende näited
- String
- Peab olema ümbritsetud jutumärkidega (“”).
- Näide:
"title": "JSON-i tutvustus"
- Number
- Saab kasutada täisarvusid ja ujukomaga arvusid.
- Näide:
"price": 1999, "discount": 9.5
- Boolean (tõeväärtus)
- Määratakse true või false.
- Näide:
"isAvailable": true
- null
- Näitab, et väärtust ei eksisteeri.
- Näide:
"nickname": null
- Massiiv (Array)
- Andmete loendit esindatakse nurksulgudega
[]
. - Näide:
"tags": ["JSON", "Andmevorming", "Programmeerimine"]
- Objekt
- Saab pesastada ja määratleda täiendavaid objekte.
- Näide:
"address": { "city": "Tallinn", "zip": "10145" }
JSON-i kirjutamise tähelepanekud
- Kasuta alati jutumärke
- Võtmed ja stringid peavad olema ümbritsetud jutumärkidega (“). Üksikud jutumärgid põhjustavad vea.
- Komade kasutamine lõpus on keelatud
- Massiivi või objekti viimasele elemendile koma lisamine põhjustab vea.
- Väär näide:
{ "name": "佐藤", "age": 30, }
- Kommentaare ei saa lisada
- JSON ei toeta kommentaare. Selgituste lisamiseks dokumenti peab eraldi koostama näiteks README-faili.
Kokkuvõte
JSON on formaat, mis võimaldab andmeid tõhusalt hallata, kasutades võtme-väärtuse paare, massiive ja objekte. Tänu oma lihtsale struktuurile ja paindlikkusele kasutatakse seda laialdaselt andmevahetuse ja salvestamise olukordades.
3. JSON-i konkreetsed kasutusnäited
Andmevahetus API kaudu
JSON-i kasutatakse laialdaselt andmevahetusformaadina veebirakenduste või mobiilirakenduste ja serveri vahel. Eriti REST API-des on see standardina kasutusel päringute ja vastuste andmevorminguna.
**Näide: Kasutajateabe hankimise API**
- Päring
GET /users/1 HTTP/1.1
Host: example.com
Accept: application/json
- Vastus
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"name": "佐藤",
"email": "sato@example.com",
"status": "active"
}
Kasutamine konfiguratsioonifailina
JSON-i kasutatakse ka rakenduste konfiguratsioonifailina.
**Näide: Konfiguratsioonifail (config.json)**
{
"server": {
"host": "localhost",
"port": 3000
},
"database": {
"user": "admin",
"password": "password123",
"dbname": "exampledb"
},
"logging": {
"level": "info",
"enabled": true
}
}
Andmeside front-end ja back-end vahel
JSON-i kasutatakse sageli asünkroonses suhtluses AJAX-i või Fetch API abil.
**Näide: Andmete hankimine Fetch API abil (JavaScript)**
fetch('https://api.example.com/users/1')
.then(response => response.json())
.then(data => {
console.log(data.name); // Kuvatakse "佐藤"
})
.catch(error => console.error('Viga:', error));
Kasutamine andmebaasides (NoSQL)
NoSQL andmebaasides salvestatakse ja hallatakse andmeid JSON-vormingus.
**Näide: Andmete salvestamine MongoDB-s**
{
"_id": ObjectId("507f1f77bcf86cd799439011"),
"name": "田中",
"age": 28,
"skills": ["JavaScript", "Python"]
}
Kokkuvõte
JSON on formaat, mis on hädavajalik paljudes olukordades, nagu API-suhtlus, konfiguratsioonifailid, andmebaasid ja logihaldus.

4. JSON-i manipuleerimine ja töötlemine
JSON-i parsimine ja genereerimine JavaScripti abil
**JSON-i parsimine**
const jsonString = '{"name": "田中", "age": 25, "isMember": true}';
const user = JSON.parse(jsonString);
console.log(user.name); // Väljund: 田中
**JSON-i genereerimine (serialiseerimine)**
const user = {
name: "田中",
age: 25,
isMember: true
};
const jsonString = JSON.stringify(user, null, 2);
console.log(jsonString);
JSON-i manipuleerimine teistes programmeerimiskeeltes
**Näide Pythonis**
import json
json_str = '{"name": "佐藤", "age": 28}'
data = json.loads(json_str)
print(data['name']) # Väljund: 佐藤
Veakäsitlus
**Näide JavaScriptis**
try {
const data = JSON.parse('{name: "佐藤"}'); // Tekib viga
} catch (error) {
console.error('JSON-i parsimise viga:', error.message);
}
Kokkuvõte
JSON-i on lihtne parsida ja genereerida, mis võimaldab tõhusat andmehaldust.
5. JSON-i rakendused ja uusimad tehnoloogiad
Andmete valideerimine JSON Schema abil
JSON Schema on spetsifikatsioon JSON-andmete struktuuri ja vormingu määratlemiseks ja valideerimiseks.
**Näide: Kasutajateabe skeem**
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Kasutajateave",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer",
"minimum": 0
},
"email": {
"type": "string",
"format": "email"
}
},
"required": ["name", "email"]
}
Struktureeritud andmed JSON-LD abil
JSON-LD pakub semantiliselt rikastatud andmeid SEO optimeerimiseks ja otsingumootorite jaoks.
**Näide: Ettevõtte teabe struktureeritud andmed**
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Näidisettevõte",
"url": "https://www.example.com",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+81-90-1234-5678",
"contactType": "customer service"
}
}
Uusimad spetsifikatsioonid ja laiendustehnoloogiad
**JSON5 näide**
{
name: "田中", // Kommentaarid on lubatud
age: 30,
skills: ["JavaScript", "Python",], // Järgmine koma on OK
}
Kokkuvõte
JSON-i saab laialdaselt rakendada, näiteks valideerimiseks ja SEO jaoks.

6. JSON-i võrdlus teiste andmevormingutega
JSON-i ja XML-i võrdlus
**Näide: JSON**
{
"user": {
"name": "佐藤",
"age": 30
}
}
**Näide: XML**
<user>
<name>佐藤</name>
<age>30</age>
</user>
**Võrdlustabel**
Omadus | JSON | XML |
---|---|---|
Süntaksi lihtsus | Lihtne ja hästi loetav | Palju tage, kohmakas |
Andmetüüpide tugi | Toetab numbreid ja tõeväärtusi | Kõik on stringid |
Parsimise kiirus | Kiire | Suhteliselt aeglane |
Kasutusvaldkonnad | API-de ja konfiguratsioonifailide jaoks | Dokumentide halduseks |
JSON-i ja YAML-i võrdlus
**Näide: JSON**
{
"name": "佐藤",
"age": 30
}
**Näide: YAML**
name: 佐藤
age: 30
**Võrdlustabel**
Omadus | JSON | YAML |
---|---|---|
Süntaksi paindlikkus | Range ja lihtne | Looduslähedane ja kergesti loetav |
Kommentaaride tugi | Ei toeta | Toetab (kasutab #) |
Kasutusvaldkonnad | Programmidele ja API-suhtluseks | Konfiguratsioonifailide halduseks |
Kokkuvõte
JSON-il on eelised lihtsuses ja kiiruses ning see sobib suurepäraselt andmehalduseks ja API-suhtluseks.
7. JSON-i tulevik ja edasised arengud
JSON-i standardiseerimine ja spetsifikatsioonide areng
JSON on standardiseeritud RFC 8259-ga ja selle põhikodeering on UTF-8.
JSON5 esilekerkimine
Paindliku kirjelduse ja kommentaaride toega laiendatud spetsifikatsioon.
**JSON5 näide**
{
name: "田中",
age: 25, // Kommentaarid on lubatud
}
JSON-LD ja semantiline veeb
SEO parandamine ja andmete semantilise tähenduse lisamine. Pakub struktureeritud andmeid otsingumootoritele.
Tulevased väljakutsed
- Kiirendamine: Üleminek binaarvormingutele nagu BSON.
- Turvalisuse suurendamine: Eskaapimise ja valideerimistööriistade arendamine.
Kokkuvõte
JSON areneb pidevalt koos uusimate tehnoloogiatega ja mängib keskset rolli andmehalduses.
8. Kokkuvõte ja lisamaterjalid
Artikli põhipunktide kokkuvõte
- JSON on laialdaselt kasutatav lihtne ja tõhus andmevahetusformaat.
- Kasutusvaldkond on lai, sealhulgas API-suhtlus, konfiguratsioonifailid, SEO.
- Koostöö uusimate tehnoloogiate ja turvameetmete arenguga.
Lisamaterjalide tutvustus
- JSON ametlik veebisait – JSON-i spetsifikatsioon ja põhireeglid.
- JSONLint – JSON-i süntaksi kontrollimise tööriist.
- MDN Web Docs – JSON-i selgitus JavaScriptis.
Edasised õppimis- ja praktilised nõuanded
- Kasuta JSON-i väiksemates projektides.
- Õpi rakendustehnoloogiaid nagu JSON Schema ja JSON-LD.
- Hoia end kursis viimaste trendidega kogukondades ja foorumites.
Kokkuvõte
JSON on formaat, mis võimaldab andmehalduse tõhustamist ja avardab veelgi võimalusi koos uusimate tehnoloogiatega.

KKK: Korduma kippuvad küsimused JSON-i kohta
1. Mis on JSON?
V: JSON (JavaScript Object Notation) on tekstipõhine andmevahetusformaat, mis on lihtne ja tõhus andmete esitamiseks.
- Koosneb võtme-väärtuse paaridest ja võimaldab andmete struktuuri selgelt esitada.
- See on kerge ja toetatud paljudes programmeerimiskeeltes ning seda kasutatakse peamiselt API-suhtluses ja konfiguratsioonifailides.
2. Millistes valdkondades JSON-i kasutatakse?
V: JSON-i kasutatakse järgmistes valdkondades:
- API-suhtlus: Kasutatakse andmete saatmiseks ja vastuvõtmiseks kliendi ja serveri vahel.
- Konfiguratsioonifailid: Rakenduste ja tööriistade konfiguratsiooniteabe salvestamine.
- Andmebaasid: Andmehaldus NoSQL andmebaasides (nt MongoDB).
- Logihaldus: Vealogide ja silumisteabe salvestamine.
- Struktureeritud andmed: Kasutatakse JSON-LD formaadis SEO optimeerimiseks.
3. Milliseid andmetüüpe JSON toetab?
V: JSON toetab järgmist kuut andmetüüpi:
- String:
"nimi": "佐藤"
- Number:
"vanus": 30
- Boolean (tõeväärtus):
"onLiige": true
- null:
"hüüdnimi": null
- Massiiv (Array):
"oskused": ["JavaScript", "Python"]
- Objekt:
"aadress": {"linn": "Tallinn", "postiindeks": "10145"}
4. Kuidas erineb JSON XML-ist?
V: JSON-i ja XML-i erinevused on järgmised:
Omadus | JSON | XML |
---|---|---|
Süntaksi lihtsus | Lihtne ja hästi loetav | Palju tage, kohmakas |
Andmetüüpide tugi | Numbrite ja massiivide natiivne tugi | Käsitleb kõike stringina |
Parsimise kiirus | Kiire | Suhteliselt aeglane |
Kasutusvaldkonnad | Andmete edastamiseks ja konfiguratsioonifailidele | Dokumentide ja struktureeritud andmete halduseks |
5. Mis on JSON-i ja YAML-i erinevus?
V: YAML on inimeste poolt kergesti loetav ja kirjutatav andmevorming, mis erineb JSON-ist järgmistes punktides.
Omadus | JSON | YAML |
---|---|---|
Süntaksi vorm | Range ja lihtne | Paindlik ja looduslähedane |
Kommentaaride tugi | Kommentaarid keelatud | Kommentaarid lubatud (kasutab #) |
Kasutusvaldkonnad | Programmide töötlemiseks ja andmesideks | Konfiguratsioonifailide ja seadistuste halduseks |
6. Millistes programmeerimiskeeltes saab JSON-i kasutada?
V: JSON-i toetavad paljud programmeerimiskeeled:
- JavaScript: Kasutab standardfunktsioone
JSON.parse()
jaJSON.stringify()
. - Python: Kasutab
json
moodulit parsimiseks ja genereerimiseks. - PHP: Kasutab funktsioone
json_decode()
jajson_encode()
. - Java: Kasutab
Jackson
võiGson
teeke.
7. Kas JSON-ile saab kommentaare lisada?
V: Standardne JSON-i spetsifikatsioon kommentaare ei toeta. Konfiguratsioonifailidena kasutamisel on aga saadaval järgmised alternatiivid:
- Lisada kommentaaridele spetsiaalsed võtmed:
{
"_kommentaar": "See seadistus on silumiseks",
"debug": true
}
- JSON5 kasutamine: JSON5 toetab kommentaare.
8. Kuidas JSON-i veakäsitlust teostada?
V: Allpool on näide JSON-i töötlemisel tekkivate vigade käsitlemisest.
**Näide JavaScriptis:**
try {
const data = JSON.parse('{nimi: "佐藤"}'); // Tekib viga
} catch (error) {
console.error('JSON-i parsimise viga:', error.message);
}
9. Kas JSON-i saab teisendada binaarvormingusse?
V: Jah, see on võimalik. JSON-i binaarvormingusse optimeeritud spetsifikatsioon on **BSON (Binary JSON)**.
- Seda kasutatakse peamiselt NoSQL andmebaasides, nagu MongoDB.
- Selle omadus on kiire ja tõhus andmetöötlus.
10. Mis on JSON-i uusimad trendid ja tehnoloogiad?
V: JSON-i uusimate tehnoloogiate hulka kuuluvad:
- JSON-LD: Struktureeritud andmete kirjeldamiseks ja SEO optimeerimiseks.
- JSON5: Laiendatud spetsifikatsioon paindliku kirjelduse ja kommentaaride toega.
- GraphQL: API disain, mis võimaldab andmeid paindlikult JSON-vormingus hankida.
- Serverivaba arhitektuur: Kasutatakse sündmustepõhises andmetöötluses näiteks AWS Lambda või Google Cloud Functions abil.
Kokkuvõte
See KKK hõlmab nii põhilisi küsimusi JSON-i kohta kui ka rakendustehnoloogiaid.
JSON on lihtne ja kergesti käsitsetav, kuid nõuab tähelepanu süntaksivigadele ja laiendatud spetsifikatsioonide toetamisele. Kasutage seda artiklit ja KKK-d, et omandada JSON-i põhitõed ja rakendused ning rakendada seda reaalsetes projektides.