JSON coderen en decoderen
Converteer PHP-arrays naar JSON en verwerk JSON-antwoorden met json_encode/json_decode.
JSON coderen en decoderen is een gratis PHP Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject PHP Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus PHP Academy bevat in totaal 4 lessen.
Wat is JSON?
JSON (JavaScript-objectnotatie) is een lichtgewicht gegevensindeling voor communicatie met API's en configuratiebestanden. PHP heeft ingebouwde functies om JSON te coderen en te decoderen.
json_encode()
Converteert een PHP-waarde (array, object of scalaire waarde) naar een JSON-tekenreeks.
<?php
$data = ["name" => "Alice", "age" => 30, "active" => true];
$json = json_encode($data);
echo $json; // {"name":"Alice","age":30,"active":true}json_decode()
Parseert een JSON-tekenreeks en geeft een PHP-waarde terug. Standaard worden stdClass-objecten teruggegeven; geef true door als tweede argument voor associatieve arrays.
<?php
$json = '{"name":"Alice","age":30}';
$obj = json_decode($json); // stdClass
$arr = json_decode($json, true); // associative array
echo $arr["name"]; // "Alice"JSON mooi opmaken
Gebruik de vlag JSON_PRETTY_PRINT om de uitvoer op te maken zodat die voor mensen leesbaar is.
<?php
$json = json_encode(["a" => 1, "b" => 2], JSON_PRETTY_PRINT);
echo $json;
// {
// "a": 1,
// "b": 2
// }Handige vlaggen voor json_encode
Veelgebruikte vlaggen: JSON_UNESCAPED_UNICODE (UTF-8 ongewijzigd behouden), JSON_UNESCAPED_SLASHES (geen backslash vóór /), JSON_THROW_ON_ERROR (werpt een uitzondering bij fouten).
<?php
$json = json_encode(["url" => "https://example.com/path"],
JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);Foutafhandeling
Controleer json_last_error() na het coderen of decoderen, of gebruik JSON_THROW_ON_ERROR om automatisch een uitzondering te krijgen.
<?php
try {
$data = json_decode($input, true, 512, JSON_THROW_ON_ERROR);
} catch (\JsonException $e) {
echo "Invalid JSON: ".$e->getMessage();
}Objecten coderen
Objecten worden gecodeerd als JSON-objecten. Standaard worden alleen openbare eigenschappen opgenomen. Implementeer JsonSerializable om de serialisatie te beheren.
<?php
class Point implements \JsonSerializable {
public function __construct(
private float $x, private float $y
) {}
public function jsonSerialize(): mixed {
return ["x" => $this->x, "y" => $this->y];
}
}
echo json_encode(new Point(1.0, 2.5)); // {"x":1,"y":2.5}Geneste structuren
JSON ondersteunt nesting. Diep geneste PHP-arrays worden probleemloos gecodeerd als geneste JSON-objecten en arrays.
<?php
$order = [
"id" => 1,
"items" => [
["sku" => "A1", "qty" => 2],
["sku" => "B3", "qty" => 1],
],
];
echo json_encode($order, JSON_PRETTY_PRINT);Decodeerdiepte
De derde parameter van json_decode stelt de maximale recursiediepte in (standaard 512). Voor zeer diepe JSON is mogelijk een hogere limiet nodig.
JSON_NUMERIC_CHECK
De vlag JSON_NUMERIC_CHECK zet tekenreeksen met getallen tijdens het coderen om in getallen. Gebruik deze vlag voorzichtig — telefoonnummers kunnen hierdoor onjuist worden.
Grote JSON streamen
Gebruik voor zeer grote JSON-bestanden een bibliotheek die JSON stapsgewijs parseert (bijvoorbeeld halaxa/json-machine) in plaats van het volledige bestand met json_decode in te laden.
Samenvatting
json_encode zet PHP-waarden om in JSON-tekenreeksen. json_decode parseert JSON. Gebruik JSON_THROW_ON_ERROR voor veilige foutafhandeling.
Korte controle
Hoe krijg je een associatieve array uit json_decode?
Leer PHP met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 49
- Lessen
- 195
Veelgestelde vragen
Is de les “JSON coderen en decoderen” gratis?
Ja — de volledige tekst van “JSON coderen en decoderen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus PHP Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus PHP Academy bevat in totaal 4 lessen.
Wat leer ik in “JSON coderen en decoderen”?
Converteer PHP-arrays naar JSON en verwerk JSON-antwoorden met json_encode/json_decode. Je oefent met PHP Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met PHP Academy te beginnen?
Ervaring vooraf is niet nodig. PHP Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “JSON coderen en decoderen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over PHP Academy?
Ja. Elke les over PHP Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- JSON coderen en decoderen
- HTTP-verzoeken uitvoeren met cURL
- API-antwoorden en fouten verwerken
- Een eenvoudige API-client bouwen