Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt meine JSON-Decodierung trotz einer scheinbar gültigen JSON-Antwort von meinem Webdienst NULL zurück?

Warum gibt meine JSON-Decodierung trotz einer scheinbar gültigen JSON-Antwort von meinem Webdienst NULL zurück?

Susan Sarandon
Susan SarandonOriginal
2024-12-04 05:08:14731Durchsuche

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

JSON-Dekodierung schlägt mit Nullantwort vom Webservice fehl

Ein besonderes Problem tritt auf, wenn json_encode und json_decode zur Verarbeitung von JSON-Daten in einer Webdienstanwendung verwendet werden . Der Webdienst gibt JSON im folgenden Format zurück:

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

Beim Versuch, den JSON in der Clientanwendung mit dem folgenden Code zu dekodieren:

$data = json_decode($foo, true)

das Ergebnis ist überraschend null:

var_dump($data):
NULL

Eine mögliche Ursache für dieses Problem liegt in der PHP Magic Quotes-Konfiguration auf dem Server. In PHP-Versionen vor 5.4 wurden bestimmte Zeichen in Formularübermittlungen, einschließlich JSON-Eingaben, automatisch durch magische Anführungszeichen maskiert. Um dieses Problem zu beheben, deaktivieren Sie magische Anführungszeichen mit dem folgenden Code:

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

Dies sollte das Problem beheben und es json_decode ermöglichen, das erwartete JSON-Objekt wie erwartet zurückzugeben.

Das obige ist der detaillierte Inhalt vonWarum gibt meine JSON-Decodierung trotz einer scheinbar gültigen JSON-Antwort von meinem Webdienst NULL zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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