Oppaat

Mitä on JSON? Selkokielinen opas esimerkkeineen

JSON (JavaScript Object Notation) on yksinkertainen tekstimuoto, jolla kirjoitetaan rakenteista dataa, kuten asiakkaita, tilauksia tai tuotelistoja, nimien ja arvojen pareina. Ihmisen on sitä helppo lukea, ja ohjelmien helppo tuottaa ja jäsentää. Kun sovellukset ja palvelut vaihtavat dataa verkossa, JSON on ylivoimaisesti yleisin muoto.

Miksi JSON on tärkeää tekoälyllä rakennettaessa

Törmäät JSONiin jatkuvasti, vaikka et koskaan kirjoittaisi koodia:

  • Rajapinnat. Kun sovelluksesi näytöt lataavat dataa taustapalvelustaan tai taustapalvelusi kutsuu maksu-, sähköposti- tai tekoälypalvelua, data kulkee yleensä JSONina. Katso mikä rajapinta (API) on.
  • Asetustiedostot. Monet projektin konfiguraatiotiedostot ovat JSONia, esimerkiksi package.json, joka listaa JavaScript-projektin riippuvuudet.
  • Tietokannat. Postgres voi tallentaa JSONia sarakkeeseen (jsonb-tyyppi) datalle, joka ei sovi siististi riveihin ja sarakkeisiin. Katso mikä Postgres on.
  • Tekoälyn tuotos. Kun haluat tekoälymallin palauttavan jotain, mitä ohjelma voi käyttää, esimerkiksi tagilistan tai laskun kentät, pyydät yleensä JSONia.
  • Virheilmoitukset ja lokit. Monet virheet tulevat JSONina, ja niiden lukeminen on usein nopein tapa selvittää, mikä meni pieleen.

JSONin lukeminen auttaa tarkistamaan, mitä sovelluksesi todella vastaanotti, huomaamaan puuttuvan kentän ja kuvaamaan ongelmat tarkasti tekoälyrakentajalle.

Arkinen vertaus

Ajattele paperilomaketta: Nimi: ____, Puhelin: ____, Uutiskirje: ☐ kyllä ☐ ei. Jokainen kenttä on nimike ja sen vieressä arvo. JSON on tuo lomake kirjoitettuna tekstinä tiukassa asettelussa, jonka tietokone lukee arvaamatta. Kuten lomakkeissa, JSONissa voi olla osioita osioiden sisällä (osoitelohko, jossa katu, kaupunki ja postinumero) sekä listoja (useita puhelinnumeroita).

Miltä JSON näyttää

Tässä yksi varaus JSONina:

{
  "id": 5001,
  "customer": "Lena Park",
  "service": "Haircut",
  "startsAt": "2026-10-03T14:00:00Z",
  "price": 35.5,
  "paid": false,
  "notes": null,
  "extras": ["beard trim", "hot towel"],
  "contact": {
    "email": "lena@example.com",
    "phone": "+44 20 7946 0000"
  }
}

Luettuna:

  • Aaltosulkeet { } ympäröivät olion, eli joukon nimi–arvo-pareja.
  • Jokainen pari on muotoa "nimi": arvo, ja pareja erotetaan pilkuilla.
  • Hakasulkeet [ ] ympäröivät taulukon, eli järjestetyn listan.
  • Oliot ja taulukot voivat olla toistensa sisällä, kuten contact ja extras tekevät.

Kuusi arvotyyppiä

JSONissa on vain kuusi arvotyyppiä. Tämä pieni lista on iso syy siihen, miksi se toimii kaikkialla.

TyyppiEsimerkkiHuomioita
Merkkijono (teksti)"Lena Park"Aina kaksoislainausmerkit
Luku35.5, -2, 1e6Ei lainausmerkkejä; ei valuuttamerkkejä
Totuusarvotrue, falsePienillä kirjaimilla, ilman lainausmerkkejä
Nullnull"Ei arvoa"
Olio{ "city": "Leeds" }Nimettyjä arvoja
Taulukko[1, 2, 3]Järjestetty lista; kohteet voivat olla mitä tahansa tyyppiä

Päivämäärätyyppiä ei ole. Päivämäärät kirjoitetaan merkkijonoina, yleensä yllä näkyvässä ISO 8601 -muodossa (2026-10-03T14:00:00Z, jossa Z tarkoittaa UTC-aikaa). Muodosta sopiminen estää koko luokan aikavyöhykevirheitä.

Tiukat säännöt (missä virheet syntyvät)

JSON on anteliaampi kuin miltä näyttää. Nämä ovat kaikki virheellisiä:

{ name: "Lena" }            ← avain ilman kaksoislainausmerkkejä
{ 'name': 'Lena' }          ← yksinkertaiset lainausmerkit
{ "a": 1, "b": 2, }         ← pilkku viimeisen kohteen perässä
{ "a": 1 "b": 2 }           ← puuttuva pilkku
{ "a": 1 // comment }       ← kommentit eivät ole sallittuja

Melkein kaikki "Unexpected token" -virheet johtuvat jostain näistä. JSON-validaattori tai -muotoilija näyttää tarkan rivin.

Esimerkki: JSON sovelluksen läpi

Asiakas varaa hiustenleikkuun kampaamosovelluksessa. Näin JSON ilmestyy:

  1. Varauslomake lähettää tämän sovelluksen taustapalveluun:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Taustapalvelu tallentaa varauksen tietokantaan ja vastaa tilakoodilla 201 Created sekä tällä:
{ "id": 5001, "status": "confirmed" }
  1. Jos aika oli jo varattu, se voi vastata tilakoodilla 409 Conflict ja tällä:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }

Sivu lukee kentän status tai error ja näyttää oikean viestin. Jos sivu näyttäisi sen sijaan tyhjää ruutua, selaimen kehitystyökalujen Network-välilehti näyttäisi tämän JSONin. Se on usein nopein vihje siitä, mikä meni pieleen.

Keskeiset termit

TermiMerkitys
AvainNimi nimi–arvo-parissa, kuten "email".
Jäsentäminen (parse)JSON-tekstin muuntaminen dataksi, jota ohjelma voi käyttää.
Sarjallistaminen (serialize / stringify)Datan muuntaminen JSON-tekstiksi lähetystä tai tallennusta varten.
Hyötykuorma (payload)Pyynnössä tai vastauksessa lähetetty data.
SkeemaKuvaus siitä, minkä muotoisen datan pitäisi olla: mitkä kentät ja mitä tyyppejä. JSON Schema on yleinen tapa kirjoittaa sellainen.
JSONBPostgresin binäärinen JSON-sarake, jota voi indeksoida ja kysellä.
NDJSON / JSON LinesYksi JSON-olio per rivi, yleinen lokeissa ja suoratoistossa.

Yleisiä väärinkäsityksiä

  • "JSON on JavaScriptiä." Se sai syntaksinsa JavaScriptistä, mutta se ei ole kieleen sidottu. Python, Java, C#, Go ja muut lukevat sitä kaikki.
  • "Luvut lainausmerkeissä ovat ihan hyvä." "35" on merkkijono, ei luku. Sekoittaminen aiheuttaa virheitä, kuten "35" + "5" muuttuu arvoksi "355". Rahasumma kannattaa usein tallentaa kokonaisina sentteinä (3550), jotta vältetään pyöristysongelmat.
  • "JSON on turvallinen, koska se on vain dataa." JSON voi kantaa mitä tahansa, myös salaisuuksia. Älä laita API-avaimia JSONiin, joka lähetetään selaimeen.
  • "Laita kaikki JSON-sarakkeeseen." Kätevää joustaville lisäkentille, mutta dataa, jota etsit, suodatat tai yhdistät, kuuluu yleensä omiin kunnollisiin sarakkeisiin.
  • "Tekoäly palauttaa aina validia JSONia." Mallit voivat lisätä ylimääräistä tekstiä tai rikkoa muodon. Monet palveluntarjoajat tarjoavat rakenteisen tuotostilan, mutta koodisi tarkistaa silti, mitä tulee takaisin.

Mitä pyytää tekoälysovellusrakentajalta

  • "Näytä esimerkki JSONista, jonka tämä päätepiste palauttaa."
  • "Palauta virheet JSONina, jossa on error-koodi ja ihmisen luettavissa oleva message."
  • "Tallenna päivämäärät ISO 8601 -merkkijonoina UTC-ajassa ja muunna paikalliseen aikaan vasta näytöllä."
  • "Tallenna hinnat kokonaisina sentteinä."
  • "Validoi saapuva JSON palvelimella ja hylkää pyynnöt, joista puuttuu kenttiä tai joissa kentän tyyppi on väärä."
  • "Kun kutsut tekoälymallia, pyydä JSONia tässä tarkassa muodossa ja tarkista se ennen käyttöä."

JSON Mythexissä

Mythexissä et tarvitse kirjoittaa JSONia käsin. Kuvaat, mitä haluat, ja agentti kirjoittaa koodin, joka lähettää ja lukee sen. On silti hyödyllistä tunnistaa se: kun jokin hajoaa, JSON-virheen liittäminen chatiin antaa agentille tarkan vihjeen. Dokumentaation REST API -taustapalvelun resepti pyytää "selkeitä JSON-virheitä" alusta asti, ja minkä tahansa rajapinnan integrointi -resepti kattaa ulkoisten palvelujen kutsumisen. Laajempaa kuvaa varten katso REST vs GraphQL ja miten tekoälyllä rakennetun sovelluksen virheitä etsitään.

Kysymykset

Mitä JSON on yksinkertaisesti sanottuna?

JSON (JavaScript Object Notation) on tekstimuoto, jolla kirjoitetaan rakenteista dataa nimi–arvo-pareina, kuten "name": "Lena". Lähes jokainen verkkorajapinta käyttää sitä datan lähettämiseen, ja monet sovellukset käyttävät sitä asetuksiin ja tallennettuun dataan.

Onko JSON ohjelmointikieli?

Ei. JSON on datamuoto, ei kieli. Se ei tee mitään itsekseen, vaan kuvaa dataa. Vaikka se syntyi JavaScriptistä, lähes jokainen ohjelmointikieli osaa lukea ja kirjoittaa sitä.

Mikä ero on JSON:lla ja JavaScript-oliolla?

Ne näyttävät samankaltaisilta, mutta JSON on tiukempi. JSONissa jokainen avain on laitettava kaksoislainausmerkkeihin, merkkijonot käyttävät kaksoislainausmerkkejä, kommentteja ei ole, pilkkua ei saa jättää viimeisen kohteen perään, ja arvot rajoittuvat merkkijonoihin, lukuihin, true-, false- ja null-arvoihin, olioihin ja taulukoihin.

Miksi JSON-tiedostoni sanoo, että se on virheellinen?

Yleisiä syitä ovat pilkku viimeisen kohteen jälkeen, yksinkertaiset lainausmerkit kaksoislainausmerkkien sijaan, puuttuva pilkku kohteiden välissä, sulkematon hakasulku tai kommentti. Liitä se JSON-validaattoriin, joka osoittaa rivin.

Mythex · Pricing · Rakenna mitä tahansa tekoälyllä · Verkkosivu- ja sovellusmallipohjat · Mythex vertailussa · Tekoälysovellusten rakentamisen sanasto · Ilmaiset työkalut tekoälysovellusten rakentamiseen · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)