Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Data-Indelingen: JSON en XML | Basisprincipes van Backend-Ontwikkeling
Spring Boot Backend

bookData-Indelingen: JSON en XML

In de vorige hoofdstukken hebben we onderzocht hoe HTTP werkt en hoe het gegevens overdraagt. In dit hoofdstuk bekijken we formaten zoals JSON en XML, die gebruikt kunnen worden om gegevens te verzenden in de body van een serverrespons of bij het versturen van een verzoek naar de server.

Wat is JSON?

JSON wordt gebruikt voor het overdragen van gegevens in een key-value formaat, wat het zeer handig maakt om gegevens te benaderen en direct om te zetten naar een object.

Dit formaat ondersteunt arrays, objecten en primitieve waarden zoals strings, getallen en booleaanse waarden.

Gegevensformaten in JSON

Voor arrays in JSON wordt de volgende syntaxis gebruikt:

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

Alle informatie wordt tussen accolades geplaatst en de sleutelnaam (zoals "courses") wordt tussen aanhalingstekens gezet. De waarde die aan deze sleutel is gekoppeld, is in dit geval een array (["Math", "Science"]), die tussen rechte haken staat om aan te geven dat het een array betreft.

Als we eenvoudige primitieve types (zoals getallen, strings of boolean waarden) willen verzenden in JSON, kunnen we dat als volgt doen:

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

We kunnen objecten verzenden in JSON-formaat. Een object wordt weergegeven door een set van key-value-paren tussen accolades.

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

Elke sleutel is een tekenreeks en wordt gevolgd door een dubbele punt, met de bijbehorende waarde, die een ander object, een array, een primitief type of null kan zijn.

JSON verzenden via HTTP

Bij het verzenden van gegevens in JSON-formaat via HTTP gebruiken zowel verzoeken als antwoorden de Content-Type header ingesteld op application/json. In een verzoek worden de gegevens in de body van het verzoek geplaatst, terwijl in een antwoord de gegevens in de body van het antwoord worden geplaatst.

Verzoekstructuur:

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

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

Antwoordstructuur:

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

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

JSON-serialisatie en -deserialisatie

Serialisatie zet een object of datastructuur om naar een formaat dat geschikt is voor netwerkoverdracht of bestandsopslag.

Deserialisatie is het omgekeerde proces, waarbij gegevens uit JSON-formaat worden omgezet naar een object of datastructuur voor gebruik in de code.

Afhankelijkheid uit de video voor het integreren van serialisatie en deserialisatie van JSON. Dit is noodzakelijk zodat we de ObjectMapper-klasse kunnen gebruiken.

Deze afhankelijkheid moet worden toegevoegd aan het pom.xml-bestand en bijgewerkt.

Hoe de Maven Repository te gebruiken

Wat is XML?

XML stelt gegevens voor met behulp van tags die een hiërarchische structuur vormen. Elk element heeft zowel openings- als sluitingstags en kan ook attributen bevatten.

XML-syntaxis

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

Zoals je kunt zien is alles hier opgebouwd uit tags. Lijsten en objecten zijn niet fundamenteel verschillend, maar als we een eenvoudige waarde willen weergeven, fungeert de tagnaam als de sleutel en de waarde binnenin de tags als de waarde.

XML-overdracht via HTTP:

Voor het verzenden van XML-gegevens kan de Content-Type header worden ingesteld op application/xml of text/xml. De gegevens worden ook geplaatst in de body van het verzoek of de respons.

Voorbeeld van een verzoek:

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

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

Voorbeeld van een respons:

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

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

XML-serialisatie en -deserialisatie

Afhankelijkheid uit de video voor integratie van serialisatie en deserialisatie van XML. Dit is noodzakelijk zodat de XmlMapperklasse gebruikt kan worden.

Deze afhankelijkheid moet worden toegevoegd aan het pom.xml bestand en geüpdatet.

Samenvatting

JSON is de voorkeurskeuze voor moderne webapplicaties vanwege het lichte en eenvoudige karakter. Hoewel XML minder handig kan zijn voor veel webscenario's, kan het nuttig zijn in gevallen waarin een complexe datastructuur en strikte schema's vereist zijn.

1. Welk formaat wordt gebruikt voor het weergeven van gegevens als key-value-paren en is lichter en handiger voor netwerkoverdracht?

2. Welke van de volgende codevoorbeelden is een geldige JSON?

question mark

Welk formaat wordt gebruikt voor het weergeven van gegevens als key-value-paren en is lichter en handiger voor netwerkoverdracht?

Select the correct answer

question mark

Welke van de volgende codevoorbeelden is een geldige JSON?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

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

bookData-Indelingen: JSON en XML

Veeg om het menu te tonen

In de vorige hoofdstukken hebben we onderzocht hoe HTTP werkt en hoe het gegevens overdraagt. In dit hoofdstuk bekijken we formaten zoals JSON en XML, die gebruikt kunnen worden om gegevens te verzenden in de body van een serverrespons of bij het versturen van een verzoek naar de server.

Wat is JSON?

JSON wordt gebruikt voor het overdragen van gegevens in een key-value formaat, wat het zeer handig maakt om gegevens te benaderen en direct om te zetten naar een object.

Dit formaat ondersteunt arrays, objecten en primitieve waarden zoals strings, getallen en booleaanse waarden.

Gegevensformaten in JSON

Voor arrays in JSON wordt de volgende syntaxis gebruikt:

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

Alle informatie wordt tussen accolades geplaatst en de sleutelnaam (zoals "courses") wordt tussen aanhalingstekens gezet. De waarde die aan deze sleutel is gekoppeld, is in dit geval een array (["Math", "Science"]), die tussen rechte haken staat om aan te geven dat het een array betreft.

Als we eenvoudige primitieve types (zoals getallen, strings of boolean waarden) willen verzenden in JSON, kunnen we dat als volgt doen:

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

We kunnen objecten verzenden in JSON-formaat. Een object wordt weergegeven door een set van key-value-paren tussen accolades.

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

Elke sleutel is een tekenreeks en wordt gevolgd door een dubbele punt, met de bijbehorende waarde, die een ander object, een array, een primitief type of null kan zijn.

JSON verzenden via HTTP

Bij het verzenden van gegevens in JSON-formaat via HTTP gebruiken zowel verzoeken als antwoorden de Content-Type header ingesteld op application/json. In een verzoek worden de gegevens in de body van het verzoek geplaatst, terwijl in een antwoord de gegevens in de body van het antwoord worden geplaatst.

Verzoekstructuur:

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

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

Antwoordstructuur:

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

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

JSON-serialisatie en -deserialisatie

Serialisatie zet een object of datastructuur om naar een formaat dat geschikt is voor netwerkoverdracht of bestandsopslag.

Deserialisatie is het omgekeerde proces, waarbij gegevens uit JSON-formaat worden omgezet naar een object of datastructuur voor gebruik in de code.

Afhankelijkheid uit de video voor het integreren van serialisatie en deserialisatie van JSON. Dit is noodzakelijk zodat we de ObjectMapper-klasse kunnen gebruiken.

Deze afhankelijkheid moet worden toegevoegd aan het pom.xml-bestand en bijgewerkt.

Hoe de Maven Repository te gebruiken

Wat is XML?

XML stelt gegevens voor met behulp van tags die een hiërarchische structuur vormen. Elk element heeft zowel openings- als sluitingstags en kan ook attributen bevatten.

XML-syntaxis

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

Zoals je kunt zien is alles hier opgebouwd uit tags. Lijsten en objecten zijn niet fundamenteel verschillend, maar als we een eenvoudige waarde willen weergeven, fungeert de tagnaam als de sleutel en de waarde binnenin de tags als de waarde.

XML-overdracht via HTTP:

Voor het verzenden van XML-gegevens kan de Content-Type header worden ingesteld op application/xml of text/xml. De gegevens worden ook geplaatst in de body van het verzoek of de respons.

Voorbeeld van een verzoek:

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

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

Voorbeeld van een respons:

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

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

XML-serialisatie en -deserialisatie

Afhankelijkheid uit de video voor integratie van serialisatie en deserialisatie van XML. Dit is noodzakelijk zodat de XmlMapperklasse gebruikt kan worden.

Deze afhankelijkheid moet worden toegevoegd aan het pom.xml bestand en geüpdatet.

Samenvatting

JSON is de voorkeurskeuze voor moderne webapplicaties vanwege het lichte en eenvoudige karakter. Hoewel XML minder handig kan zijn voor veel webscenario's, kan het nuttig zijn in gevallen waarin een complexe datastructuur en strikte schema's vereist zijn.

1. Welk formaat wordt gebruikt voor het weergeven van gegevens als key-value-paren en is lichter en handiger voor netwerkoverdracht?

2. Welke van de volgende codevoorbeelden is een geldige JSON?

question mark

Welk formaat wordt gebruikt voor het weergeven van gegevens als key-value-paren en is lichter en handiger voor netwerkoverdracht?

Select the correct answer

question mark

Welke van de volgende codevoorbeelden is een geldige JSON?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 5
some-alt