JSON-opplæring: Lær med et enkelt eksempel

⚡ Smart oppsummering

JSON, forkortelse for JavaScript Object Notation er et lett, menneskelig lesbart format for lagring og utveksling av strukturerte data mellom servere og applikasjoner. Denne ressursen forklarer syntaksen, datatypene, applikasjoner i den virkelige verden og forskjellene som skiller det fra XML.

  • 🔑 Kjernedefinisjon: JSON lagrer informasjon som navn/verdi-par og ordnede arrayer, ved bruk av krøllparenteser for objekter og hakeparenteser for arrayer.
  • 🧩 Støttede datatyper: Mestre de seks JSON-datatypene – streng, tall, boolsk, null, objekt og array – for å modellere nesten enhver struktur.
  • Hvorfor team bruker det: JSON analyseres naturlig i JavaSkript, fungerer på tvers av alle nettlesere og integreres med de fleste backend-teknologier og REST API-er.
  • 🔄 JSON versus XML: Sammenlignet med XML er JSON typebasert, mer lesbar for mennesker og raskere å serialisere, selv om det mangler visningsmuligheter for markup.
  • 🛠️ Praktisk verktøy: Valider, formater og minimer kode med verktøy som JSONLint, JSON Editor Online og JSON Formatter før utrulling.

JSON veiledning

Hva er JSON?

JSON er et filformat som brukes til å lagre informasjon på en organisert og lett tilgjengelig måte. Dens fulle form er JavaSkriptobjektnotasjon. Den tilbyr en menneskelig lesbar samling av data som kan nås logisk. Filnavnet for skrevet programmeringskode er .json. Internett-medietypen for JSON er application/json, og dens Uniform Type Identifier er public.json.

Nå som definisjonen er klar, forklarer neste avsnitt hvorfor utviklere velger JSON fremfor andre dataformater.

Hvorfor bruke JSON?

Her er de viktige fordelene/fordelene ved å bruke JSON:

  • Gi støtte for alle nettlesere
  • Lett å lese og skrive
  • Enkel syntaks
  • Du kan native parse inn JavaSkript som bruker eval()-funksjonen
  • Enkel å lage og manipulere
  • Støttet av alle store JavaSkriptrammer
  • Støttes av de fleste backend-teknologier
  • JSON gjenkjennes naturlig av JavaScript
  • Det lar deg transmit og serialisere strukturerte data ved hjelp av en nettverkstilkobling.
  • Du kan bruke den med moderne programmeringsspråk.
  • JSON er tekst som kan konverteres til et hvilket som helst objekt av JavaSkriv inn i JSON og send denne JSON til serveren.

Historien om JSON

Historien om JSON
JSON veiledning

Her er viktige landemerker som danner historien til JSON:

  • Douglas Crockford spesifiserte JSON-formatet på begynnelsen av 2000-tallet.
  • Den offisielle nettsiden ble lansert i 2002.
  • I desember 2005, Yahoo! begynner å tilby noen av sine nettjenester i JSON.
  • JSON ble en ECMA internasjonal standard i 2013.
  • Den mest oppdaterte JSON-formatstandarden ble publisert i 2017.

Utover denne tidslinjen tilbyr JSON også et sett med praktiske funksjoner som forklarer dens vedvarende popularitet.

Funksjoner til JSON

Lett å bruke – JSON API tilbyr fasade på høyt nivå, som hjelper deg med å forenkle vanlige brukssaker.

Ytelse – JSON er ganske rask da den bruker svært mindre minneplass, noe som er spesielt egnet for grafer eller systemer med store objekter.

Gratis verktøy – JSON-biblioteket er åpen kildekode og gratis å bruke.

Trenger ikke å lage kartping – Jackson API tilbyr standardkartping for mange objekter som skal serialiseres.

Rengjør JSON – Skaper rent og kompatibelt JSON-resultat som er lett å lese.

Avhengighet – JSON-biblioteket krever ikke noe annet bibliotek for behandling.

Regler for JSON-syntaks

Regler for JSON-syntaks er:

  • Data skal være i navn/verdi-par
  • Data skal skilles med komma
  • Krøllete seler skal holde gjenstander
  • Firkantede parenteser holder arrays

Datatyper i JSON

Med syntaksreglene etablert, viser følgende tabell de viktige datatypene som brukes i JSON:

Data-type Tekniske beskrivelser
Nr Det inkluderer reelt tall, heltall eller et flytende tall
String Den består av hvilken som helst tekst eller Unicode dobbeltsitert med omvendt skråstrek
boolean Den boolske datatypen representerer enten True eller False verdier
Null Null-verdien angir at den tilknyttede variabelen ikke har noen verdi
Objekt Det er en samling nøkkel-verdi-par og alltid atskilt med komma og omsluttet av krøllede parenteser.
Array Det er en ordnet sekvens av verdier atskilt.

Nr

  • Tallet er et flyttallformat med dobbel presisjon som avhenger av implementeringsmetoden.
  • I JSON kan du ikke bruke heksadesimale og oktale formater.

Følgende tabell viser talltyper:

typen Tekniske beskrivelser
Heltall Tall 1-9, og 0. Både positive og negative tall.
Brøk Brøker som 3
Eksponent Eksponent som e, e+

Syntaks:

var json-object-name = { string : number_value,......}

Eksempel:

var obj = {salary: 2600}

String

Det er en serie med Unicode-tegn i dobbeltsitat og med omvendt skråstrek escaping.

Følgende tabell viser ulike strengtyper:

typen Tekniske beskrivelser
* Brukes for doble anførselstegn typing
/ Bruk for solidus
\ Bruk for revers solidus
B Bruk for å legge til backspace
F Fra fôr
N For å lage en ny linje
R Brukes til vognretur
T For å vise horisontal fane
U Heksadesimale sifre

Syntaks:

var json-object-name = { string : "string value",…..}

Eksempel:

var obj = {name: 'Andy'}

boolean

Den lagrer bare sanne eller usanne verdier.

Syntaks:

var json-object-name = {string : true/false, …..}

Eksempel:

var obj = {active: 'true'}

Array

  • Det er en ordnet samling av verdier.
  • Du bør bruke en matrise når nøkkelnavnene er sekvensielle heltall.
  • Det skal være omsluttet av firkantede parenteser som skal være atskilt med ',' (komma)

Syntaks:

[value, .......]

Eksempel:

Viser en matrise som lagrer flere objekter:

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

JSON-objekt

A JSON-objekt er en enhet i JSON som er omsluttet av krøllede parenteser. Det er skrevet i det uordnede settet med navn og verdipar der navnet skal følges av ":" (kolon), og navn/verdiparene må skilles med "," (komma). Den kan brukes når nøkkelnavn er vilkårlige strenger.

Syntaks:

{ string :  value, ….. }

Eksempel:

{
"id": 110,
"language": "Python",
"price": 1900,
}

mellomrom

Du kan sette inn mellomrom mellom et par tokens.

Eksempel:

Syntaks:

{string:"    ",….}

Eksempel:

var a = " Alex"; var b = "Steve";

Eksempel på JSON

Det gitte kodeeksemplet definerer hvordan du bruker JSON til å lagre informasjon relatert til programmeringsbøker sammen med utgave og forfatternavn.

{
   "book":[
      {
         "id":"444",
         "language":"C",
         "edition":"First",
         "author":"Dennis Ritchie "
      },
      {
         "id":"555",
         "language":"C++",
         "edition":"second",
         "author":" Bjarne Stroustrup "
      }
   ]
}

La oss forstå JSON-format med et annet JSON-fileksempel. Her definerer JSON fornavn, etternavn og id til en student.

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

Bruk av JSON

Her er noen vanlige applikasjoner av JSON:

  • Hjelper deg med å overføre data fra en server
  • Eksempel på JSON-filformat hjelper med transmit og serialisere alle typer strukturerte data.
  • Lar deg utføre asynkrone dataanrop uten å måtte oppdatere siden
  • Hjelper deg med å transmit data mellom en server og webapplikasjoner.
  • Det er mye brukt til JavaSkriptbasert applikasjon, som inkluderer nettleserutvidelse og nettsteder.
  • Du kan transmit data mellom serveren og webapplikasjonen ved hjelp av JSON.
  • Vi kan bruke JSON med moderne programmeringsspråk.
  • Den brukes til å skrive JavaSkriptbaserte applikasjoner som inkluderer nettlesertillegg.
  • Nettjenester og Restful API-er bruker JSON-formatet for å få offentlige data.

Fordi JSON er så mye brukt, blir det ofte sammenlignet med XML, formatet det ofte erstatter.

JSON vs. XML

Her er hovedforskjellen mellom JSON og XML

JSON XML
JSON-objektet har en type XML data er typeløse
JSON-typer: streng, tall, array, boolsk Alle XML-data skal være streng
Data er lett tilgjengelig som JSON-objekter XML-data må analyseres.
JSON-filer er mer lesbare for mennesker. XML-filer er mindre lesbare for mennesker.
JSON støttes av de fleste nettlesere. XML-parsing på tvers av nettlesere kan være vanskelig
JSON har ingen visningsmuligheter. XML gir en mulighet til å vise data fordi det er et markup-språk.
Det er enkelt å hente verdier Å hente verdi er vanskelig
Støttes av mange Ajax-verktøysett Ikke fullt ut støttet av Ajax verktøysett
En helautomatisert måte å deserialisere/serialisere på JavaManus. Utviklere må skrive JavaSkriptkode for å serialisere/de-serialisere fra XML
Innfødt støtte for objektet. Objektet må uttrykkes med konvensjoner – for det meste savnet bruk av attributter og elementer.

JSON Eksempel

Nedenfor er et enkelt JSON-eksempel:

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

XML-eksempel

<?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>

Hva er ikke JSON?

  • Eksempel på JSON-datafil er ikke et dokumentformat.
  • Det er ikke et merkespråk.
  • JSON gir ikke et generelt serialiseringsformat.
  • Det er ikke tilbakevendende eller sykliske strukturer.
  • Det er heller ikke en usynlig struktur.

Ulemper med JSON

Her er noen fordeler med JSON:

  • Ingen navneområdestøtte, derav dårlig utvidbarhet
  • Begrenset utviklingsverktøy støtte
  • Ingen støtte for formell grammatikkdefinisjon

Populære JSON-verktøy (tillegg)

Her er viktige JSON-verktøy:

JSONLint:

JSONLint er et åpen kildekode-prosjekt som brukes som en validator og reformatering for JSON. Det er et lettvektsformat for datautveksling. Kopier og lim inn, skriv direkte eller skriv inn URL i JSON-valideringsverktøyet for å validere JSON-koden din.

Link: https://jsonlint.com

JSON Editor Online:

JSON Editor Online er et nyttig nettbasert verktøy. Den lar deg redigere, vise og formatere JSON. Den viser dataene dine side ved side i en tydelig, redigerbar programvare for koderedigering.

Link: https://jsoneditoronline.org/

JSON Minifier Tool:

Det er et verktøy som hjelper deg med å fjerne mellomrom og gir en JSON-kode som tar minst plass.

Link: https://www.browserling.com/tools/json-minify

JSON til XML-konvertering:

JSON til XML-konverterer er et enkelt og effektivt verktøy som hjelper deg med å konvertere JSON-koden din.

Link: https://codebeautify.org/jsontoxml

JSON-formater:

JSON-formatering hjelper deg med å løse problemet ved å formatere JSON-dataene slik at det er enkelt å lese og feilsøke av et menneske.

Link: https://jsonformatter.curiousconcept.com/

Spørsmål og svar

Nei. JSON er et datautvekslingsformat, ikke et programmeringsspråk. Det lagrer og transporterer kun strukturerte data ved hjelp av en tekstbasert syntaks. Programmeringsspråk som JavaManus, Pythonog Java lese og skrive JSON.

JSON i seg selv er ren tekst og trygg. Risikoer oppstår når man analyserer upålitelig input, spesielt med den gamle eval()-metoden. Bruk en standard JSON-parser, for eksempel JSON.parse(), og valider data for å unngå injeksjonsproblemer.

JSON er tekstformatet som brukes til å lagre og transmit data. Et JSON-objekt er én struktur innenfor det formatet, skrevet i krøllparenteser som navn/verdi-par. En komplett JSON-fil kan inneholde mange objekter og arrayer.

AI-systemer bruker JSON til å sende forespørsler, motta svar og utveksle modellparametere. De fleste API-er for store språkmodeller godtar og returnerer JSON, noe som gjør det til standardformatet for forespørsler, strukturerte utdata og konfigurasjon av treningsdata.

Ja. AI-assistenter kan generere JSON fra enkle beskrivelser og sjekke det for syntaksfeil. Mange verktøy håndhever også et skjema, slik at utdataene forblir gyldige og samsvarer med strukturen et program forventer.

Oppsummer dette innlegget med: