Le format JSON en PHP
JSON est un format pour le stockage de données. Ce format est souvent utilisé pour l'échange de données entre des sites, ou entre un serveur et un navigateur. Ce format est plus compact et simple comparé au XML, c'est pourquoi il est actuellement beaucoup plus utilisé.
L'abréviation JSON signifie JavaScript Object Notation. Le fait est qu'à l'origine, JSON a été inventé dans le langage JavaScript, mais il est maintenant utilisé partout.
Du point de vue de PHP, les données au format JSON représentent une chaîne de caractères :
<?php
$str = '
// ici sera le JSON
';
?>
Le format lui-même représente une
structure multidimensionnelle, constituée
de tableaux ordinaires et associatifs.
Les éléments des tableaux peuvent être des chaînes
obligatoirement entre guillemets doubles, des nombres,
les valeurs true, false
ou null.
Regardons des exemples. Créons un tableau avec des nombres :
<?php
$str = '[1, 2, 3, 4, 5]';
?>
Créons un tableau avec des chaînes :
<?php
$str = '["a", "b", "c"]';
?>
Créons un tableau avec un contenu mixte :
<?php
$str = '[1, "a", true, false, null]';
?>
Créons maintenant un tableau associatif. En termes de JavaScript, ces tableaux sont appelés objets. Les objets sont entourés d'accolades, et les clés sont séparées des valeurs par des deux-points. De plus, les clés de ces tableaux doivent être des chaînes obligatoirement entre guillemets doubles. Créons un exemple d'objet :
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
Il est possible de combiner des tableaux et des objets dans des structures de tout niveau d'imbrication :
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Notez que les virgules traînantes après le dernier élément dans le format JSON ne sont pas autorisées :
<?php
$str = '[
"a",
"b",
"c",
]'; // dernière virgule en trop
?>
Convertissez la structure PHP suivante en une chaîne JSON :
<?php
$data = [1, 2, 3];
?>
Convertissez la structure PHP suivante en une chaîne JSON :
<?php
$data = ['x', 'y', 'z',];
?>
Convertissez la structure PHP suivante en une chaîne JSON :
<?php
$data = [
'x' => 'a',
'y' => 'b',
'z' => 'c',
];
?>
Convertissez la structure PHP suivante en une chaîne JSON :
<?php
$data = [
'ru' => ['1', '2', '3'],
'en' => ['a', 'b', 'c'],
];
?>