Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich mit json_encode unerwartete Backslashes in meiner JSON-Ausgabe?

Warum erhalte ich mit json_encode unerwartete Backslashes in meiner JSON-Ausgabe?

DDD
Freigeben: 2024-11-27 01:54:10
Original
952 Leute haben es durchsucht

Why Am I Getting Unexpected Backslashes in My JSON Output with json_encode?

Unerwartete Backslashes in der JSON-Ausgabe mit json_encode

Bei der Arbeit mit json_encode zur Rückgabe von JSON-Daten nach einem Datei-Upload sind bestimmte Benutzer auf den Zusatz gestoßen von unnötigen Backslashes in der Ausgabe. Um dieses Problem genauer zu untersuchen, wollen wir das Problem aufschlüsseln:

Das anfängliche Code-Snippet, das gültiges JSON erzeugt:

print_r($result);
echo json_encode($result);
Nach dem Login kopieren

Bei weiterer Untersuchung durch data.toSource() ist es jedoch so hat ergeben, dass ungültiges JSON erstellt wird, mit hinzugefügten Backslashes und zusätzlichen Informationen (z. B. Status:200) angehängt.

Ursache des Problems

Die zusätzlichen Backslashes und irrelevanten Informationen werden wahrscheinlich durch einen Prozess außerhalb von json_encode selbst eingeführt. Es wird vermutet, dass die Plupload-Bindungsfunktion die zurückgegebenen Daten auf irgendeine Weise manipuliert.

Lösung

Um dieses Problem zu beheben, wird empfohlen, die Option „JSON_UNESCAPED_SLASHES“ einzubeziehen bei Verwendung von json_encode. Diese ab PHP-Version 5.4 eingeführte Option verhindert, dass unnötigerweise Backslashes hinzugefügt werden. Der korrigierte Code:

json_encode($array, JSON_UNESCAPED_SLASHES);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich mit json_encode unerwartete Backslashes in meiner JSON-Ausgabe?. 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