JSON_DECODE |
Décode le JSON |
---|---|
PHP 5.2.0+ |
Syntaxe
function json_decode($json, $associative = null, $depth = 512, $flags = 0); |
Paramètres
Nom | Description | |
---|---|---|
$json | Ce paramètre permet d'indiquer une chaîne de caractères JSON à décoder. Elle doit être bien formée et conforme au format JSON. Si le JSON est invalide, la fonction retournera NULL. | |
$associative | Ce paramètre permet de déterminer si le JSON décodé doit être retourné sous forme d'un objet (false, par défaut) ou d'un tableau associatif (true). | |
$depth | Ce paramètre permet d'indiquer la profondeur maximale de l'arbre JSON à décoder. Si la profondeur des données JSON dépasse cette valeur, la fonction échoue et retourne NULL. | |
$flags | Ce paramètre permet d'indiquer des options de décodage à l'aide de constantes. Ces options modifient la manière dont la fonction interprète les données JSON. | |
Valeur | Description | |
JSON_BIGINT_AS_STRING | Cette valeur permet d'indiquer que les grands nombres (au-delà de la limite des entiers PHP) sont convertis en chaînes pour éviter la perte de précision. | |
JSON_THROW_ON_ERROR | Cette valeur permet d'indiquer qu'au lieu de retourner NULL en cas d'erreur, une exception JsonException est levée. |
Description
Cette fonction permet de décoder une chaîne JSON en une variable PHP. Peut retourner un tableau ou un objet selon les options.
Remarques
- Décodage des données JSON vers des structures PHP : La fonction json_decode permet de convertir une chaîne JSON en une structure de données PHP. Par défaut, elle retourne un objet si le JSON représente un objet, ou un tableau si le JSON représente une liste. Cela facilite l'interprétation des réponses JSON dans les applications web modernes.
- Gestion des erreurs avec json_last_error : En cas d'échec de décodage (par exemple, si le JSON est mal formé), json_decode retourne NULL. Pour comprendre la cause de l'erreur, vous pouvez utiliser la fonction json_last_error et obtenir un message d'erreur avec json_last_error_msg. Cela est essentiel pour déboguer les problèmes de format JSON.
- Option true pour retourner un tableau : En passant true comme deuxième paramètre de json_decode, vous forcez le résultat à être un tableau associatif au lieu d'un objet. Cela est utile si vous préférez accéder aux données JSON avec une syntaxe de tableau plutôt que des propriétés d'objet.
- Support des paramètres de profondeur maximale : json_decode accepte un troisième paramètre, spécifiant la profondeur maximale des données JSON à analyser (par défaut, 512). Si le JSON contient des structures trop imbriquées dépassant cette limite, la fonction échoue pour éviter des dépassements de mémoire.
- Options de décodage avancées : Le quatrième paramètre de json_decode permet de spécifier des options, comme JSON_BIGINT_AS_STRING. Cette option force les grands entiers à être convertis en chaînes pour éviter des pertes de précision en raison de la taille limite des entiers en PHP.
- Gestion des types spéciaux (booléens et NULL) : json_decode interprète automatiquement des littéraux JSON comme true, false et null pour les convertir en leurs équivalents PHP (true, false, et null). Cela rend les données JSON cohérentes avec les types natifs en PHP.
- Compatibilité avec des chaînes de caractères vides ou non valides : Une chaîne de caractères vide passée à json_decode retourne NULL sans erreur, mais cela peut prêter à confusion. Si la chaîne contient un espace ou d'autres caractères non valides, la fonction échoue également sans lever une exception.
- Limites liées au format JSON : La fonction json_decode ne peut traiter que des chaînes JSON conformes au standard. Les formats invalides, comme des guillemets simples ou des clefs non entre guillemets, provoqueront des erreurs. Il est donc essentiel de valider le JSON avant de l'utiliser, surtout s'il provient d'une source externe.
Dernière mise à jour : Jeudi, le 16 Janvier 2025