Pourquoi est-ce que j'obtiens une erreur JSON_ERROR_SYNTAX malgré la réussite de la validation ?

Linda Hamilton
Libérer: 2024-10-22 22:13:02
original
188 Les gens l'ont consulté

Why Am I Getting a JSON_ERROR_SYNTAX Error Despite Passing Validation?

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>
Copier après la connexion

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!

source:php
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