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);
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!