"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi «JSON_DECODE» renvoie-t-il Null, bien que les données JSON semblent valables?

Pourquoi «JSON_DECODE» renvoie-t-il Null, bien que les données JSON semblent valables?

Publié le 2025-04-13
Parcourir:675

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, parfois, la fonction JSON_DECODE renvoie Null. Un problème de confusion se pose lorsqu'un service Web fournit des données JSON qui ressemblent:

var_dump($foo):
string(62) "{"action":"set","user":"123123123123","status":"OK"}"

cependant, tentant de décoder le JSON dans l'application renvoie null:

$data = json_decode($foo, true);
var_dump($data):
NULL

Résolution du problème

Une cause potentielle de ce problème est la fonctionnalité de citations magiques de Php. Les citations magiques échappent automatiquement à des caractères spéciaux dans les données de forme, ce qui interfère potentiellement avec l'analyse JSON. Pour résoudre ceci:

if (get_magic_quotes_gpc()) {
  $param = stripslashes($_POST['param']);
} else {
  $param = $_POST['param'];
}
$param = json_decode($param, true);

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

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3