Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Dataformat: JSON och XML | Grunderna i Backendutveckling
Spring Boot Backend

bookDataformat: JSON och XML

I de föregående kapitlen undersökte vi hur HTTP fungerar och hur det överför data. I detta kapitel kommer vi att titta på format såsom JSON och XML, vilka är format som kan användas för att överföra data i kroppen av ett server-svar eller vid skickande av en förfrågan till servern.

Vad är JSON?

JSON används för överföring av data i ett nyckel-värde-format, vilket gör det mycket bekvämt att komma åt data och konvertera det direkt till ett objekt.

Detta format stöder arrayer, objekt samt primitiva värden såsom strängar, nummer och boolean-värden.

Dataformat i JSON

För arrayer i JSON används följande syntax:

{
  "courses": ["Math", "Science"]
}

All information omsluts av klamrar och nyckelns namn (som "courses") anges inom citattecken. Värdet som är kopplat till denna nyckel är i detta fall en array (["Math", "Science"]), vilken omsluts av hakparenteser för att indikera att det är en array.

Om vi vill överföra enkla primitiva typer (såsom tal, strängar eller boolean-värden) i JSON, kan vi göra det så här:

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false
}

Vi kan överföra objekt i JSON-format. Ett objekt representeras av en uppsättning nyckel-värde-par inneslutna i klamrar.

{
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}

Varje nyckel är en sträng och följs av ett kolon, med motsvarande värde, vilket kan vara ett annat objekt, en array, en primitiv typ eller null.

Överföring av JSON via HTTP

Vid överföring av data i JSON-format via HTTP används Content-Type-huvudet satt till application/json för både förfrågningar och svar. I en förfrågan placeras datan i förfrågans kropp, medan den i ett svar placeras i svarskroppen.

Förfrågningsstruktur:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "John Doe",
  "age": 30
}

Svarsstruktur:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "success",
  "data": {
     "userId": 12345
   }
}

JSON-serialisering och deserialisering

Serialisering omvandlar en objekt eller datastruktur till ett format som är lämpligt för nätverksöverföring eller fil-lagring.

Deserialisering är den omvända processen, som omvandlar data från JSON-format tillbaka till ett objekt eller datastruktur för användning i koden.

Beroende från videon för att integrera serialisering och deserialisering av JSON. Detta är nödvändigt så att vi kan använda ObjectMapperklassen.

Det är nödvändigt att infoga detta beroende i pom.xml filen och uppdatera den.

Hur man använder Maven Repository

Vad är XML?

XML representerar data med hjälp av taggar som bildar en hierarkisk struktur. Varje element har både öppnings- och stängningstaggar och kan även innehålla attribut.

XML-syntax

<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 kan se är allt här uppbyggt av taggar. Listor och objekt är inte i sig olika, men om vi vill representera ett enkelt värde kommer taggnamnet att fungera som nyckel och värdet inuti taggarna blir värdet.

XML-överföring via HTTP:

För överföring av XML-data kan Content-Type-huvudet anges till antingen application/xml eller text/xml. Datan placeras även i kroppen av begäran eller svar.

Exempel på begäran:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml

<user>
    <name>John Doe</name>
    <age>30</age>
</user>

Exempel på svar:

HTTP/1.1 200 OK
Content-Type: application/xml

<response>
  <status>success</status>
  <data>
    <userId>12345</userId>
  </data>
</response>

XML-serialisering och deserialisering

Beroende från videon för att integrera serialisering och deserialisering av XML. Detta är nödvändigt för att kunna använda XmlMapperklassen.

Det är nödvändigt att infoga denna beroende i pom.xml filen och uppdatera den.

Sammanfattning

JSON är det föredragna valet för moderna webbapplikationer tack vare sitt lätta och enkla format. Även om XML kan vara mindre bekvämt i många webbsammanhang, kan det vara användbart i situationer som kräver en komplex datastruktur och strikta scheman.

1. Vilket format används för att representera data som key-value-par och är mer lättviktigt samt bekvämt för nätverksöverföring?

2. Vilket av följande kodexempel är giltig JSON?

question mark

Vilket format används för att representera data som key-value-par och är mer lättviktigt samt bekvämt för nätverksöverföring?

Select the correct answer

question mark

Vilket av följande kodexempel är giltig JSON?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

What are the main differences between JSON and XML?

Can you explain when to use JSON versus XML?

How does serialization and deserialization work in practice?

Awesome!

Completion rate improved to 3.45

bookDataformat: JSON och XML

Svep för att visa menyn

I de föregående kapitlen undersökte vi hur HTTP fungerar och hur det överför data. I detta kapitel kommer vi att titta på format såsom JSON och XML, vilka är format som kan användas för att överföra data i kroppen av ett server-svar eller vid skickande av en förfrågan till servern.

Vad är JSON?

JSON används för överföring av data i ett nyckel-värde-format, vilket gör det mycket bekvämt att komma åt data och konvertera det direkt till ett objekt.

Detta format stöder arrayer, objekt samt primitiva värden såsom strängar, nummer och boolean-värden.

Dataformat i JSON

För arrayer i JSON används följande syntax:

{
  "courses": ["Math", "Science"]
}

All information omsluts av klamrar och nyckelns namn (som "courses") anges inom citattecken. Värdet som är kopplat till denna nyckel är i detta fall en array (["Math", "Science"]), vilken omsluts av hakparenteser för att indikera att det är en array.

Om vi vill överföra enkla primitiva typer (såsom tal, strängar eller boolean-värden) i JSON, kan vi göra det så här:

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false
}

Vi kan överföra objekt i JSON-format. Ett objekt representeras av en uppsättning nyckel-värde-par inneslutna i klamrar.

{
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}

Varje nyckel är en sträng och följs av ett kolon, med motsvarande värde, vilket kan vara ett annat objekt, en array, en primitiv typ eller null.

Överföring av JSON via HTTP

Vid överföring av data i JSON-format via HTTP används Content-Type-huvudet satt till application/json för både förfrågningar och svar. I en förfrågan placeras datan i förfrågans kropp, medan den i ett svar placeras i svarskroppen.

Förfrågningsstruktur:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "John Doe",
  "age": 30
}

Svarsstruktur:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "success",
  "data": {
     "userId": 12345
   }
}

JSON-serialisering och deserialisering

Serialisering omvandlar en objekt eller datastruktur till ett format som är lämpligt för nätverksöverföring eller fil-lagring.

Deserialisering är den omvända processen, som omvandlar data från JSON-format tillbaka till ett objekt eller datastruktur för användning i koden.

Beroende från videon för att integrera serialisering och deserialisering av JSON. Detta är nödvändigt så att vi kan använda ObjectMapperklassen.

Det är nödvändigt att infoga detta beroende i pom.xml filen och uppdatera den.

Hur man använder Maven Repository

Vad är XML?

XML representerar data med hjälp av taggar som bildar en hierarkisk struktur. Varje element har både öppnings- och stängningstaggar och kan även innehålla attribut.

XML-syntax

<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 kan se är allt här uppbyggt av taggar. Listor och objekt är inte i sig olika, men om vi vill representera ett enkelt värde kommer taggnamnet att fungera som nyckel och värdet inuti taggarna blir värdet.

XML-överföring via HTTP:

För överföring av XML-data kan Content-Type-huvudet anges till antingen application/xml eller text/xml. Datan placeras även i kroppen av begäran eller svar.

Exempel på begäran:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml

<user>
    <name>John Doe</name>
    <age>30</age>
</user>

Exempel på svar:

HTTP/1.1 200 OK
Content-Type: application/xml

<response>
  <status>success</status>
  <data>
    <userId>12345</userId>
  </data>
</response>

XML-serialisering och deserialisering

Beroende från videon för att integrera serialisering och deserialisering av XML. Detta är nödvändigt för att kunna använda XmlMapperklassen.

Det är nödvändigt att infoga denna beroende i pom.xml filen och uppdatera den.

Sammanfattning

JSON är det föredragna valet för moderna webbapplikationer tack vare sitt lätta och enkla format. Även om XML kan vara mindre bekvämt i många webbsammanhang, kan det vara användbart i situationer som kräver en komplex datastruktur och strikta scheman.

1. Vilket format används för att representera data som key-value-par och är mer lättviktigt samt bekvämt för nätverksöverföring?

2. Vilket av följande kodexempel är giltig JSON?

question mark

Vilket format används för att representera data som key-value-par och är mer lättviktigt samt bekvämt för nätverksöverföring?

Select the correct answer

question mark

Vilket av följande kodexempel är giltig JSON?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 5
some-alt