Verstehen des JSON-Dekodierungsproblems bei Webdienstaufrufen
Bei Webdienstinteraktionen gibt die Funktion json_decode gelegentlich NULL zurück. Ein verwirrendes Problem entsteht, wenn ein Webdienst JSON-Daten bereitstellt, die wie folgt aussehen:
var_dump($foo): string(62) "{"action":"set","user":"123123123123","status":"OK"}"
Der Versuch, den JSON in der Anwendung zu dekodieren, gibt jedoch NULL zurück:
$data = json_decode($foo, true); var_dump($data): NULL
Auflösung des Problem
Eine mögliche Ursache für dieses Problem ist die PHP-Funktionalität für magische Anführungszeichen. Sonderzeichen in Formulardaten werden automatisch durch magische Anführungszeichen maskiert, was möglicherweise die JSON-Analyse beeinträchtigt. So beheben Sie dieses Problem:
if (get_magic_quotes_gpc()) { $param = stripslashes($_POST['param']); } else { $param = $_POST['param']; } $param = json_decode($param, true);
Durch Deaktivieren von magischen Anführungszeichen oder Entfernen von Schrägstrichen aus den JSON-Daten kann die Anwendung das JSON genau dekodieren und die gewünschten Informationen abrufen.
Das obige ist der detaillierte Inhalt vonWarum gibt „json_decode' trotz gültig aussehender JSON-Daten NULL zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!