Maison > développement back-end > tutoriel php > Pourquoi `json_decode()` de PHP renvoie-t-il NULL avec un JSON apparemment valide ?

Pourquoi `json_decode()` de PHP renvoie-t-il NULL avec un JSON apparemment valide ?

Susan Sarandon
Libérer: 2024-11-28 19:17:11
original
690 Les gens l'ont consulté

Why Does PHP's `json_decode()` Return NULL with Seemingly Valid JSON?

PHP json_decode() renvoie NULL lorsqu'il est fourni JSON apparemment valide : une résolution

Lors d'une tentative de décodage d'un objet JSON stocké dans un texte brut utilisant la fonction json_decode() de PHP, certains utilisateurs ont rencontré le problème où la fonction renvoie NULL alors que le JSON semble valide lorsqu'il est testé avec Validateurs JSON.

En examinant l'extrait de code fourni, l'objet JSON semble bien formaté. Cependant, il est possible que le fichier contienne des caractères invisibles ou des caractères non UTF-8 pouvant interférer avec le processus de décodage.

Pour résoudre ce problème, une solution suggérée par les utilisateurs consiste à utiliser la fonction preg_replace() de PHP pour supprimez tous les caractères non UTF-8 de la chaîne JSON. Le code modifié ressemblerait à ceci :

$json_object = json_decode( preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json_string), true );
Copier après la connexion

Cette expression régulière remplacera tous les caractères en dehors de la plage de caractères UTF-8 par une chaîne vide, garantissant que la chaîne JSON ne contient que des caractères valides.

En appliquant cette modification, la fonction json_decode() de PHP devrait être capable de décoder avec succès l'objet JSON et de renvoyer un objet ou un tableau PHP représentant les données JSON. Il a été rapporté que cette solution fonctionne efficacement pour de nombreux utilisateurs confrontés à ce problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal