Dataformater: JSON og XML
I de forrige kapitlene utforsket vi hvordan HTTP fungerer og hvordan det overfører data. I dette kapittelet skal vi se nærmere på formater som JSON og XML, som er formater som kan brukes til å overføre data i kroppen av et serverrespons eller når man sender en forespørsel til serveren.
Hva er JSON?
JSON brukes til overføring av data i et nøkkel-verdi-format, noe som gjør det svært praktisk å få tilgang til data og konvertere det direkte til et objekt.
Dette formatet støtter arrayer, objekter samt primitive verdier som strenger, tall og boolske verdier.
Dataformater i JSON
For arrayer i JSON kan følgende syntaks benyttes:
{
"courses": ["Math", "Science"]
}
All informasjon omsluttes av krøllparenteser, og nøkkelnavnet (for eksempel "courses") angis i anførselstegn. Verdien som er knyttet til denne nøkkelen, i dette tilfellet en array (["Math", "Science"]), omsluttes av firkantede parenteser for å indikere at det er en array.
Hvis vi ønsker å overføre enkle primitivtyper (som tall, strenger eller boolske verdier) i JSON, kan vi gjøre det slik:
{
"name": "John Doe",
"age": 30,
"isStudent": false
}
Vi kan overføre objekter i JSON-format. Et objekt representeres av et sett med nøkkel-verdi-par omsluttet av krøllparenteser.
{
"address": {
"street": "123 Main St",
"city": "Anytown"
}
}
Hver nøkkel er en streng og etterfølges av et kolon, med tilhørende verdi, som kan være et annet objekt, et array, en primitiv type eller null.
Overføring av JSON over HTTP
Ved overføring av data i JSON-format via HTTP, benyttes både forespørsler og svar med Content-Type-header satt til application/json. I en forespørsel plasseres dataen i forespørselens body, mens i et svar plasseres dataen i responsens body.
Strukturen til forespørsel:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"age": 30
}
Strukturen til svar:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"userId": 12345
}
}
JSON-serialisering og -deserialisering
Serialisering konverterer et objekt eller en datastruktur til et format som er egnet for nettverksoverføring eller fil-lagring.
Deserialisering er den motsatte prosessen, som konverterer data fra JSON-format tilbake til et objekt eller en datastruktur for bruk i koden.
Avhengighet fra videoen for integrering av serialisering og deserialisering av JSON. Dette er nødvendig slik at vi kan bruke ObjectMapper-klassen.
Denne avhengigheten må legges inn i pom.xml filen og oppdateres.
Hvordan bruke Maven Repository
Hva er XML?
XML representerer data ved hjelp av tagger som danner en hierarkisk struktur. Hvert element har både åpnings- og lukketagger, og kan også inkludere attributter.
XML-syntaks
<person>
<name>John Doe</name>
<age>30</age>
<isStudent>false</isStudent>
<courses>
<course>Math</course>
<course>Science</course>
</courses>
<address>
<street>123 Main St</street>
<city>Anytown</city>
</address>
</person>
Som du ser, er alt her bygget på tagger. Lister og objekter er ikke iboende forskjellige, men hvis vi ønsker å representere en enkel verdi, vil taggnavnet fungere som nøkkel, og verdien inni taggene vil være verdien.
XML-overføring over HTTP:
For overføring av XML-data kan Content-Type-headeren settes til enten application/xml eller text/xml. Dataen plasseres også i body på forespørselen eller responsen.
Eksempel på forespørsel:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml
<user>
<name>John Doe</name>
<age>30</age>
</user>
Eksempel på respons:
HTTP/1.1 200 OK
Content-Type: application/xml
<response>
<status>success</status>
<data>
<userId>12345</userId>
</data>
</response>
XML-serialisering og -deserialisering
Avhengighet fra videoen for integrering av serialisering og deserialisering av XML. Dette er nødvendig for at vi skal kunne bruke XmlMapper-klassen.
Denne avhengigheten må legges inn i pom.xml -filen og oppdateres.
Oppsummering
JSON er det foretrukne valget for moderne webapplikasjoner på grunn av sitt lette og enkle format. Selv om XML kan være mindre praktisk i mange webscenarioer, kan det være nyttig i tilfeller som krever en kompleks datastruktur og strenge skjemaer.
1. Hvilket format brukes for å representere data som key-value-par og er mer lettvektig og praktisk for nettverksoverføring?
2. Hvilken av følgende kodeeksempler er en gyldig JSON?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.45
Dataformater: JSON og XML
Sveip for å vise menyen
I de forrige kapitlene utforsket vi hvordan HTTP fungerer og hvordan det overfører data. I dette kapittelet skal vi se nærmere på formater som JSON og XML, som er formater som kan brukes til å overføre data i kroppen av et serverrespons eller når man sender en forespørsel til serveren.
Hva er JSON?
JSON brukes til overføring av data i et nøkkel-verdi-format, noe som gjør det svært praktisk å få tilgang til data og konvertere det direkte til et objekt.
Dette formatet støtter arrayer, objekter samt primitive verdier som strenger, tall og boolske verdier.
Dataformater i JSON
For arrayer i JSON kan følgende syntaks benyttes:
{
"courses": ["Math", "Science"]
}
All informasjon omsluttes av krøllparenteser, og nøkkelnavnet (for eksempel "courses") angis i anførselstegn. Verdien som er knyttet til denne nøkkelen, i dette tilfellet en array (["Math", "Science"]), omsluttes av firkantede parenteser for å indikere at det er en array.
Hvis vi ønsker å overføre enkle primitivtyper (som tall, strenger eller boolske verdier) i JSON, kan vi gjøre det slik:
{
"name": "John Doe",
"age": 30,
"isStudent": false
}
Vi kan overføre objekter i JSON-format. Et objekt representeres av et sett med nøkkel-verdi-par omsluttet av krøllparenteser.
{
"address": {
"street": "123 Main St",
"city": "Anytown"
}
}
Hver nøkkel er en streng og etterfølges av et kolon, med tilhørende verdi, som kan være et annet objekt, et array, en primitiv type eller null.
Overføring av JSON over HTTP
Ved overføring av data i JSON-format via HTTP, benyttes både forespørsler og svar med Content-Type-header satt til application/json. I en forespørsel plasseres dataen i forespørselens body, mens i et svar plasseres dataen i responsens body.
Strukturen til forespørsel:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"age": 30
}
Strukturen til svar:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"userId": 12345
}
}
JSON-serialisering og -deserialisering
Serialisering konverterer et objekt eller en datastruktur til et format som er egnet for nettverksoverføring eller fil-lagring.
Deserialisering er den motsatte prosessen, som konverterer data fra JSON-format tilbake til et objekt eller en datastruktur for bruk i koden.
Avhengighet fra videoen for integrering av serialisering og deserialisering av JSON. Dette er nødvendig slik at vi kan bruke ObjectMapper-klassen.
Denne avhengigheten må legges inn i pom.xml filen og oppdateres.
Hvordan bruke Maven Repository
Hva er XML?
XML representerer data ved hjelp av tagger som danner en hierarkisk struktur. Hvert element har både åpnings- og lukketagger, og kan også inkludere attributter.
XML-syntaks
<person>
<name>John Doe</name>
<age>30</age>
<isStudent>false</isStudent>
<courses>
<course>Math</course>
<course>Science</course>
</courses>
<address>
<street>123 Main St</street>
<city>Anytown</city>
</address>
</person>
Som du ser, er alt her bygget på tagger. Lister og objekter er ikke iboende forskjellige, men hvis vi ønsker å representere en enkel verdi, vil taggnavnet fungere som nøkkel, og verdien inni taggene vil være verdien.
XML-overføring over HTTP:
For overføring av XML-data kan Content-Type-headeren settes til enten application/xml eller text/xml. Dataen plasseres også i body på forespørselen eller responsen.
Eksempel på forespørsel:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml
<user>
<name>John Doe</name>
<age>30</age>
</user>
Eksempel på respons:
HTTP/1.1 200 OK
Content-Type: application/xml
<response>
<status>success</status>
<data>
<userId>12345</userId>
</data>
</response>
XML-serialisering og -deserialisering
Avhengighet fra videoen for integrering av serialisering og deserialisering av XML. Dette er nødvendig for at vi skal kunne bruke XmlMapper-klassen.
Denne avhengigheten må legges inn i pom.xml -filen og oppdateres.
Oppsummering
JSON er det foretrukne valget for moderne webapplikasjoner på grunn av sitt lette og enkle format. Selv om XML kan være mindre praktisk i mange webscenarioer, kan det være nyttig i tilfeller som krever en kompleks datastruktur og strenge skjemaer.
1. Hvilket format brukes for å representere data som key-value-par og er mer lettvektig og praktisk for nettverksoverføring?
2. Hvilken av følgende kodeeksempler er en gyldig JSON?
Takk for tilbakemeldingene dine!