Data-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?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Data-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?
Bedankt voor je feedback!