Maison > développement back-end > tutoriel php > Pourquoi mon décodage JSON renvoie-t-il NULL malgré une réponse JSON apparemment valide de mon service Web ?

Pourquoi mon décodage JSON renvoie-t-il NULL malgré une réponse JSON apparemment valide de mon service Web ?

Susan Sarandon
Libérer: 2024-12-04 05:08:14
original
808 Les gens l'ont consulté

Why is my JSON Decode Returning NULL Despite a Seemingly Valid JSON Response from my Web Service?

Le décodage JSON échoue avec une réponse nulle du service Web

Un problème particulier se produit lors de l'utilisation de json_encode et json_decode pour gérer les données JSON dans une application de service Web . Le service Web renvoie JSON au format suivant :

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

Lors de la tentative de décodage du JSON dans l'application client à l'aide du code suivant :

$data = json_decode($foo, true)
Copier après la connexion

le résultat est étonnamment nul :

var_dump($data):
NULL
Copier après la connexion

Une cause potentielle de ce problème réside dans la configuration des guillemets magiques PHP sur le serveur. Dans les versions PHP antérieures à 5.4, les guillemets magiques échappaient automatiquement certains caractères dans les soumissions de formulaires, y compris les entrées JSON. Pour résoudre ce problème, désactivez les guillemets magiques à l'aide du code suivant :

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

Cela devrait résoudre le problème et permettre à json_decode de renvoyer l'objet JSON attendu comme prévu.

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