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

Pourquoi mon PHP `json_decode()` renvoie-t-il NULL malgré un JSON valide ?

Mary-Kate Olsen
Libérer: 2024-11-27 03:52:09
original
781 Les gens l'ont consulté

Why Does My PHP `json_decode()` Return NULL Despite Valid JSON?

PHP json_decode() Problème de décodage avec un JSON apparemment valide

Lors de la tentative de décodage du JSON stocké dans un fichier en texte brut à l'aide de la fonction json_decode en PHP , certains utilisateurs rencontrent des retours NULL inexplicables malgré l'apparente validité de la structure JSON.

Le Le JSON concerné s'aligne souvent sur les normes de validation de schéma JSON et passe des tests rigoureux sur des plateformes telles que http://jsonlint.com/. Cependant, lors du décodage du JSON en PHP, cela reste insaisissable.

Pour résoudre ce problème, pensez à incorporer la ligne de code suivante dans votre processus de décodage :

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

Cette invocation json_decode modifiée remplace tous les caractères invisibles ou non imprimables dans la chaîne JSON (tels que les caractères de contrôle, les caractères UTF-8 illégaux ou les caractères spéciaux) avec une chaîne vide. Ces caractères peuvent provoquer des divergences lors du décodage et entraîner des retours NULL.

En filtrant ces caractères, le code modifié garantit que la fonction json_decode peut analyser la chaîne JSON avec précision, lui permettant de renvoyer une représentation PHP valide du Données JSON.

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