Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt „json_decode' trotz gültig aussehender JSON-Daten NULL zurück?

Warum gibt „json_decode' trotz gültig aussehender JSON-Daten NULL zurück?

DDD
Freigeben: 2024-12-12 22:19:11
Original
897 Leute haben es durchsucht

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

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"}"
Nach dem Login kopieren

Der Versuch, den JSON in der Anwendung zu dekodieren, gibt jedoch NULL zurück:

$data = json_decode($foo, true);
var_dump($data):
NULL
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage