PHP en JSON
Wat is JSON?
JSON staat voor JavaScript Object Notation en is een syntaxis voor het opslaan en uitwisselen van gegevens.
Aangezien de JSON-indeling een op tekst gebaseerde indeling is, kan deze eenvoudig van en naar een server worden verzonden en door elke programmeertaal als gegevensindeling worden gebruikt.
PHP en JSON
PHP heeft enkele ingebouwde functies om JSON af te handelen.
Eerst kijken we naar de volgende twee functies:
- json_encode()
- json_decode()
PHP - json_encode()
De functie json_encode() wordt gebruikt om een waarde in JSON-indeling te coderen.
Voorbeeld
Dit voorbeeld laat zien hoe u een associatieve array codeert in een JSON-object:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Voorbeeld
Dit voorbeeld laat zien hoe u een geïndexeerde array codeert in een JSON-array:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
PHP - json_decode()
De functie json_decode() wordt gebruikt om een JSON-object te decoderen in een PHP-object of een associatieve array.
Voorbeeld
Dit voorbeeld decodeert JSON-gegevens in een PHP-object:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
De functie json_decode() retourneert standaard een object. De functie json_decode() heeft een tweede parameter en wanneer deze is ingesteld op true, worden JSON-objecten gedecodeerd in associatieve arrays.
Voorbeeld
In dit voorbeeld worden JSON-gegevens gedecodeerd in een associatieve PHP-array:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
PHP - Toegang tot de gedecodeerde waarden
Hier zijn twee voorbeelden van hoe u toegang krijgt tot de gedecodeerde waarden van een object en van een associatieve array:
Voorbeeld
Dit voorbeeld laat zien hoe u toegang krijgt tot de waarden van een PHP-object:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Voorbeeld
Dit voorbeeld laat zien hoe u toegang krijgt tot de waarden van een PHP-associatieve array:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
PHP - Door de waarden heen bladeren
U kunt ook door de waarden lopen met een foreach() -lus:
Voorbeeld
Dit voorbeeld laat zien hoe u door de waarden van een PHP-object kunt lopen:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Voorbeeld
Dit voorbeeld laat zien hoe je door de waarden van een PHP associatieve array loopt:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>