Erreur de décodage JSON :
Malgré la validation via un formateur en ligne, vous rencontrez une erreur JSON_ERROR_SYNTAX lors du décodage des données JSON à l'aide de json_decode().
Caractères cachés et JSON invalide :
Le problème sous-jacent réside dans les caractères cachés qui peuvent ne pas être immédiatement apparents dans le texte JSON. Ces caractères sont souvent invisibles et perturbent la syntaxe du JSON, provoquant l'échec du décodeur.
Solution :
Pour résoudre ce problème, vous pouvez implémenter le code suivant fourni dans la réponse :
<code class="php">$json = file_get_contents("http://yourwebsite.com/JsonData"); // Remove unwanted characters for ($i = 0; $i <= 31; ++$i) { $json = str_replace(chr($i), "", $json); } $json = str_replace(chr(127), "", $json); // Handle UTF-8 BOM if (0 === strpos(bin2hex($json), 'efbbbf')) { $json = substr($json, 3); } $obj = json_decode($json);</code>
Ce code supprime les caractères indésirables, y compris les caractères de contrôle et la nomenclature UTF-8 (0xef-0xbb-0xbf). En supprimant ces caractères, le décodeur est capable d'analyser correctement les 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!