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

JSONin historia
JSON opetusohjelma

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.

Tiivistรค tรคmรค viesti seuraavasti: