JSON-opetusohjelma: Opi yksinkertaisella tiedostomuodolla EXAMPLE
Mikรค on JSON?
JSON on tiedostomuoto, jota kรคytetรครคn tietojen tallentamiseen jรคrjestelmรคllisesti ja helposti saatavilla olevalla tavalla. Sen tรคysi muoto on JavaScript Object Notation. Se tarjoaa ihmisen luettavissa olevan kokoelman tietoja, joita voidaan kรคyttรครค loogisesti. Sen kirjoitetun ohjelmointikoodin tiedostopรครคte on .json. JSONin Internet-mediatyyppi on application/json, ja sen yhtenรคinen tyyppitunniste on public.json.
Miksi kรคyttรครค JSONia?
Tรคssรค on JSONin kรคytรถn tรคrkeรคt edut/edut:
- Tarjoa tukea kaikille selaimille
- Helppo lukea ja kirjoittaa
- Suoraviivainen syntaksi
- Voit jรคsentรครค natiivisti JavaKomentosarja eval()-funktiolla
- Helppo luoda ja kรคsitellรค
- Kaikki suuret tukevat JavaKรคsikirjoituskehykset
- Useimmat taustateknologiat tukevat
- JSON tunnistaa alkuperรคisesti JavaKรคsikirjoitus
- Sen avulla voit lรคhettรครค ja sarjottaa strukturoitua dataa verkkoyhteyden avulla.
- Voit kรคyttรครค sitรค nykyaikaisten ohjelmointikielien kanssa.
- JSON on tekstiรค, joka voidaan muuntaa mihin tahansa objektiin JavaKomentoi JSON:iin ja lรคhetรค tรคmรค JSON palvelimelle.
JSONin historia

Tรคssรค on tรคrkeitรค maamerkkejรค, jotka muodostavat JSONin historian:
- Douglas Crockford mรครคritteli JSON-muodon 2000-luvun alussa.
- Virallinen verkkosivusto avattiin vuonna 2002.
- Joulukuussa 2005 Yahoo! alkaa tarjota joitakin verkkopalveluitaan JSON-muodossa.
- JSONista tuli kansainvรคlinen ECMA-standardi vuonna 2013.
- Uusin JSON-muotostandardi julkaistiin vuonna 2017.
JSONin ominaisuudet
Helppo kรคyttรครค โ JSON API tarjoaa korkean tason julkisivun, jonka avulla voit yksinkertaistaa yleisesti kรคytettyjรค kรคyttรถtapauksia.
Suorituskyky โ JSON on melko nopea, koska se kuluttaa hyvin vรคhemmรคn muistitilaa, mikรค sopii erityisen hyvin suurille objektikaavioille tai jรคrjestelmille.
Ilmainen tyรถkalu - JSON-kirjasto on avoimen lรคhdekoodin ja ilmainen kรคyttรถ.
Ei vaadi kartoitusta โ Jackson API tarjoaa oletuskartoituksen monille sarjoitettaville objekteille.
Puhdista JSON โ Luo puhtaan ja yhteensopivan JSON-tuloksen, joka on helppolukuinen.
riippuvuus โ JSON-kirjasto ei vaadi muita kirjastoja kรคsittelyyn.
JSON-syntaksin sรครคnnรถt
JSON-syntaksin sรครคnnรถt ovat:
- Tietojen tulee olla nimi/arvo-pareina
- Tiedot on erotettava pilkuilla
- Kihara olkaimet pitรคisi pitรครค esineitรค
- Hakasulkeet pitรคvรคt taulukoita
Tietotyypit JSONissa
JSONissa kรคytetyt tรคrkeรคt tietotyypit ovat:
| Tietotyyppi | Tuotetiedot |
|---|---|
| numero | Se sisรคltรครค reaaliluvun, kokonaisluvun tai kelluvan luvun |
| jono | Se koostuu mistรค tahansa tekstistรค tai Unicodesta, jossa on kaksoislainaus ja kenoviiva |
| boolean | Boolen tietotyyppi edustaa joko True tai False arvoja |
| Null | Null-arvo tarkoittaa, ettรค liittyvรคllรค muuttujalla ei ole arvoa |
| objekti | Se on kokoelma avainarvopareja, jotka on erotettu aina pilkulla ja suljettu hakasulkeisiin. |
| Ryhmรค | Se on jรคrjestetty jรคrjestys eroteltujen arvojen sarja. |
numero
- Numero on kaksinkertainen tarkkuus liukulukumuoto, joka riippuu sen toteutustavasta.
- JSONissa et voi kรคyttรครค heksadesimaali- ja oktaalimuotoja.
Seuraava taulukko nรคyttรครค numerotyypit:
| Tyyppi | Tuotetiedot |
|---|---|
| Kokonaisluku | Numerot 1-9 ja 0. Sekรค positiivisia ettรค negatiivisia lukuja. |
| jae | Murtoluvut kuten 3 |
| Eksponentti | Eksponentti kuten e, e+ |
Syntaksi:
var json-object-name = { string : number_value,......}
Esimerkiksi:
var obj = {salary: 2600}
jono
Se on sarja kaksoislainattuja Unicode-merkkejรค, joissa on kenoviiva.
Seuraava taulukko nรคyttรครค eri merkkijonotyypit:
| Tyyppi | Tuotetiedot |
|---|---|
| * | Kรคytรค kaksoislainauksen kirjoittamiseen |
| / | Kรคytรค solidukseen |
| \ | Kรคytรค kรครคnteiseen solidukseen |
| B | Kรคytรค lisรคtรคksesi askelpalauttimen |
| F | Rehusta |
| N | Luodaksesi uuden rivin |
| R | Kรคytรค vaunun palautukseen |
| T | Vaakavรคlilehden nรคyttรคminen |
| U | Heksadesimaalilukuja |
Syntaksi:
var json-object-name = { string : "string value",โฆ..}
Esimerkiksi:
var obj= {name: 'Andy'}
boolean
Se tallentaa vain oikeita tai vรครคriรค arvoja.
Syntaksi:
var json-object-name = {string : true/false, โฆ..}
Esimerkiksi:
var obj = {active: 'true'}
Ryhmรค
- Se on jรคrjestetty arvokokoelma.
- Sinun tulee kรคyttรครค taulukkoa, kun avainten nimet ovat perรคkkรคisiรค kokonaislukuja.
- Se tulee sulkea hakasulkeisiin, jotka tulee erottaa ',' (pilkulla)
Syntaksi:
[value, .......]
Esimerkiksi:
Useita objekteja sisรคltรคvรคn taulukon nรคyttรคminen:
{
"eBooks":[
{
"language":"Pascal",
"edition":"third"
},
{
"language":"Python",
"edition":"four"
},
{
"language":"SQL",
"edition":"second"
}
]
}
JSON-objekti
A JSON-objekti on JSON-kokonaisuus, joka on suljettu hakasulkeisiin. Se kirjoitetaan jรคrjestรคmรคttรถmรครคn nimi- ja arvoparien joukkoon, jossa nimen perรคssรค tulee olla ":" (kaksoispiste), ja nimi/arvo-parit on erotettava toisistaan โโ"," (pilkku) -merkillรค. Sitรค voidaan kรคyttรครค, kun avainten nimet ovat mielivaltaisia โโmerkkijonoja.
Syntaksi:
{ string : value, โฆ.. }
Esimerkiksi:
{
"id": 110,
"language": "Python",
"price": 1900,
}
vรคlilyรถnti
Voit lisรคtรค vรคlilyรถnnin merkkiparin vรคliin.
Esimerkiksi:
Syntaksi:
{string:" ",โฆ.}
Esimerkiksi:
var a = " Alex"; var b = "Steve";
Esimerkki JSONista
Annettu koodiesimerkki mรครคrittรครค, kuinka JSON:ia kรคytetรครคn tallentamaan liittyviรค tietoja ohjelmointikirjoja sekรค painos ja tekijรคn nimi.
{
"book":[
{
"id":"444",
"language":"C",
"edition":"First",
"author":"Dennis Ritchie "
},
{
"id":"555",
"language":"C++",
"edition":"second",
"author":" Bjarne Stroustrup "
}
]
}
Ymmรคrtรครค JSON-muodon toisen JSON-tiedostoesimerkin avulla. Tรคssรค JSON mรครคrittรครค opiskelijan etunimen, sukunimen ja tunnuksen.
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
JSON-sovellus
Tรคssรค on joitain yleisiรค JSON-sovelluksia:
- Auttaa siirtรคmรครคn tietoja palvelimelta
- Esimerkki JSON-tiedostomuodosta auttaa siirtรคmรครคn ja sarjoittamaan kaikentyyppisiรค strukturoituja tietoja.
- Voit suorittaa asynkronisia datapuheluita ilman, ettรค sinun tarvitsee pรคivittรครค sivua
- Auttaa siirtรคmรครคn tietoja palvelimen ja verkkosovellusten vรคlillรค.
- Sitรค kรคytetรครคn laajalti JavaSkriptipohjainen sovellus, joka sisรคltรครค selainlaajennuksen ja verkkosivustot.
- Voit siirtรครค dataa palvelimen ja verkkosovelluksen vรคlillรค JSONin avulla.
- Voimme kรคyttรครค JSON:ia nykyaikaisten ohjelmointikielien kanssa.
- Sitรค kรคytetรครคn kirjoittamiseen JavaSkriptipohjaiset sovellukset, jotka sisรคltรคvรคt selaimen lisรคosia.
- Verkkopalvelut ja Restful API:t kรคyttรคvรคt JSON-muotoa julkisten tietojen hankkimiseen.
JSON vs. XML
Tรคssรค on tรคrkein ero JSON:n ja XML:n vรคlillรค
| JSON | XML |
|---|---|
| JSON-objektilla on tyyppi | XML data on tyypitรถntรค |
| JSON-tyypit: merkkijono, numero, taulukko, looginen | Kaikkien XML-tietojen tulee olla merkkijonoja |
| Tiedot ovat helposti kรคytettรคvissรค JSON-objekteina | XML-tiedot on jรคsennettรคvรค. |
| JSON-tiedostot ovat ihmisten luettavampia. | XML-tiedostot ovat vรคhemmรคn ihmisen luettavissa. |
| Useimmat selaimet tukevat JSON:ia. | Selainten vรคlinen XML-jรคsennys voi olla hankalaa |
| JSONilla ei ole nรคyttรถominaisuuksia. | XML tarjoaa mahdollisuuden nรคyttรครค tietoja, koska se on merkintรคkieli. |
| Arvon saaminen on helppoa | Arvon saaminen on vaikeaa |
| Monet Ajax-tyรถkalut tukevat | Ajax-tyรถkalupakki ei tue tรคysin |
| Tรคysin automatisoitu tapa sarjoittaa/serialisoida JavaSkripti. | Kehittรคjien on kirjoitettava JavaKomentosarjakoodi XML:n sarjoittamiseksi/sarjan poistamiseksi |
| Alkuperรคinen tuki objektille. | Objekti on ilmaistava konventionaalisesti โ enimmรคkseen unohtuu attribuuttien ja elementtien kรคyttรถ. |
JSON-esimerkki
Alla on yksinkertainen JSON-esimerkki:
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
XML-esimerkki
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
Mikรค ei ole JSON?
- Esimerkki JSON-datatiedostosta ei ole asiakirjamuoto.
- Se ei ole merkintรคkieli.
- JSON ei tarjoa yleistรค serialisointimuotoa.
- Se ei ole toistuvia tai syklisiรค rakenteita.
- Se ei myรถskรครคn ole nรคkymรคtรถn rakenne.
JSONin haitat
Tรคssรค on muutamia JSONin etuja:
- Ei nimitilatukea, joten laajennettavuus on huono
- rajallinen kehitystyรถkalut tuki
- Ei tukea muodolliselle kieliopin mรครคritelmรคlle
Suositut JSON-tyรถkalut (laajennukset)
Tรคssรค on tรคrkeitรค JSON-tyรถkaluja:
JSONLint:
JSONLint on avoimen lรคhdekoodin projekti, jota kรคytetรครคn JSONin tarkistajana ja uudelleenmuotoiluna. Se on kevyt tiedonsiirtomuoto. Kopioi ja liitรค, kirjoita suoraan tai syรถtรค URL-osoite JSON-tarkistustyรถkaluun vahvistaaksesi JSON-koodisi.
Linkki: https://jsonlint.com
JSON-editori verkossa:
JSON Editor Online on hyรถdyllinen verkkopohjainen tyรถkalu. Sen avulla voit muokata, tarkastella ja muotoilla JSON. Se nรคyttรครค tietosi vierekkรคin selkeรคnรค, muokattavana koodieditori ohjelmisto.
Linkki: https://jsoneditoronline.org/
JSON Minifier Tool:
Se on tyรถkalu, jonka avulla voit poistaa vรคlilyรถnnit ja antaa JSON-koodin, joka vie vรคhiten tilaa.
Linkki: https://www.browserling.com/tools/json-minify
JSON-XML-muunnin:
JSON-XML-muunnin on yksinkertainen ja tehokas tyรถkalu, jonka avulla voit muuntaa JSON-koodisi.
Linkki: https://codebeautify.org/jsontoxml
JSON-muotoilu:
JSON-muotoilija auttaa sinua ratkaisemaan ongelman muotoilemalla JSON-tiedot niin, ettรค ihmisen on helppo lukea ja korjata niitรค.
Linkki:https://jsonformatter.curiousconcept.com/
Yhteenveto
- JSON-menetelmรครค kรคytetรครคn tietojen tallentamiseen organisoidusti ja helposti saatavilla olevalla tavalla.
- JSON tarkoittaa JavaScript Object Notation.
- JSON tarjoaa tuen kaikille selaintarjouksille useilla kielillรค.
- Douglas Crockford mรครคritteli JSON-muodon 2000-luvun alussa
- JSON API tarjoaa korkean tason julkisivun, joka auttaa sinua yksinkertaistamaan yleisesti kรคytettyjรค kรคyttรถtapauksia
- Tรคrkeรค sรครคntรถ JSON-jรคrjestelmรคn kirjoittamisessa on, ettรค tiedot tulee kirjoittaa nimi/arvo-pareilla.
- Numero, merkkijono, looginen, nolla, objekti ja taulukko ovat tรคrkeitรค JSON:ssa kรคytettyjรค tietotyyppejรค.
- Se auttaa sinua siirtรคmรครคn tietoja palvelimelta.
- JSON-objektilla on tyyppi, kun taas XML-data on tyyppitรถntรค
- JSON ei ole asiakirjamuoto
- Ei nimitilatukea, joten laajennettavuus on huono
- JSONLint on avoimen lรคhdekoodin projekti, jota kรคytetรครคn JSONin tarkistajana ja uudelleenmuotoiluna.
