Maison > développement back-end > tutoriel php > Pourquoi « json_decode » renvoie-t-il NULL malgré des données JSON valides ?

Pourquoi « json_decode » renvoie-t-il NULL malgré des données JSON valides ?

DDD
Libérer: 2024-12-12 22:19:11
original
897 Les gens l'ont consulté

Why Does `json_decode` Return NULL Despite Valid-Looking JSON Data?

Comprendre le problème de décodage JSON dans les appels de service Web

Dans les interactions de service Web, de temps en temps, la fonction json_decode renvoie NULL. Un problème déroutant survient lorsqu'un service Web fournit des données JSON qui ressemblent à :

var_dump($foo):
string(62) "{"action":"set","user":"123123123123","status":"OK"}"
Copier après la connexion

Cependant, tenter de décoder le JSON dans l'application renvoie NULL :

$data = json_decode($foo, true);
var_dump($data):
NULL
Copier après la connexion

Résoudre le Problème

Une cause potentielle de ce problème est la fonctionnalité de citations magiques de PHP. Les guillemets magiques échappent automatiquement aux caractères spéciaux dans les données du formulaire, interférant potentiellement avec l'analyse JSON. Pour résoudre ce problème :

if (get_magic_quotes_gpc()) {
  $param = stripslashes($_POST['param']);
} else {
  $param = $_POST['param'];
}
$param = json_decode($param, true);
Copier après la connexion

En désactivant les guillemets magiques ou en supprimant les barres obliques des données JSON, l'application peut décoder avec précision le JSON et récupérer les informations souhaitées.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal