JSON-formaat in PHP
JSON is een formaat voor het opslaan van gegevens. Dit formaat wordt vaak gebruikt voor de uitwisseling van gegevens tussen websites, of tussen een server en een browser. Dit formaat is compacter en eenvoudiger vergeleken met XML, daarom wordt het tegenwoordig veel breder gebruikt.
De afkorting JSON staat voor JavaScript Object Notation. Feitelijk is JSON oorspronkelijk bedacht in de taal JavaScript, maar wordt nu overal gebruikt.
Vanuit het oogpunt van PHP zijn gegevens in JSON-formaat een string:
<?php
$str = '
// hier komt JSON
';
?>
Het formaat zelf is een soort
multidimensionale structuur, bestaande
uit gewone en associatieve arrays.
Elementen van arrays kunnen strings zijn
(verplicht in dubbele aanhalingstekens), getallen,
waarden true, false
of null.
Laten we naar voorbeelden kijken. Laten we een array met getallen maken:
<?php
$str = '[1, 2, 3, 4, 5]';
?>
Laten we een array met strings maken:
<?php
$str = '["a", "b", "c"]';
?>
Laten we een array met gemengde inhoud maken:
<?php
$str = '[1, "a", true, false, null]';
?>
Laten we nu een associatieve array maken. In JavaScript-termen worden zulke arrays objecten genoemd. Objecten worden tussen accolades geplaatst, en sleutels worden van waarden gescheiden door dubbele punten. Hierbij moeten de sleutels van zulke arrays strings zijn (verplicht in dubbele aanhalingstekens). Laten we een voorbeeld van een object maken:
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
Arrays en objecten kunnen gecombineerd worden in structuren van elk genest niveau:
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Let op: hangende komma's na het laatste element zijn in JSON-formaat niet toegestaan:
<?php
$str = '[
"a",
"b",
"c",
]'; // laatste komma is overbodig
?>
Converteer de volgende PHP-structuur naar een JSON-string:
<?php
$data = [1, 2, 3];
?>
Converteer de volgende PHP-structuur naar een JSON-string:
<?php
$data = ['x', 'y', 'z',];
?>
Converteer de volgende PHP-structuur naar een JSON-string:
<?php
$data = [
'x' => 'a',
'y' => 'b',
'z' => 'c',
];
?>
Converteer de volgende PHP-structuur naar een JSON-string:
<?php
$data = [
'ru' => ['1', '2', '3'],
'en' => ['a', 'b', 'c'],
];
?>