Heim > Backend-Entwicklung > PHP-Tutorial > Warum fügt „json_encode' Backslashes zu meinen JSON-Daten hinzu?

Warum fügt „json_encode' Backslashes zu meinen JSON-Daten hinzu?

Patricia Arquette
Freigeben: 2024-11-11 16:46:03
Original
692 Leute haben es durchsucht

Why Does `json_encode` Add Backslashes to My JSON Data?

Warum fügt Json_encode Backslashes hinzu?

Beim Einsatz von json_encode in einem Datei-Upload-Skript wurde festgestellt, dass die resultierenden JSON-Daten unerwartete Inhalte enthalten Backslashes. Dies wirft die Frage auf, warum json_encode diese Escapezeichen einführt.

Die Option JSON_UNESCAPED_SLASHES

Die Antwort liegt in einer bestimmten Option, die in json_encode verfügbar ist. Standardmäßig maskiert json_encode bestimmte Zeichen, einschließlich Schrägstriche (Backslashes), um sicherzustellen, dass der generierte JSON gültig bleibt. In manchen Fällen, beispielsweise beim Umgang mit URLs wie der bereitgestellten, können diese Escapezeichen jedoch unerwünscht sein.

Um dieses Problem zu beheben, wurde in PHP Version 5.4 die Option JSON_UNESCAPED_SLASHES eingeführt. Bei Verwendung weist diese Option json_encode an, das Entkommen von Schrägstrichen zu vermeiden, wodurch das vorliegende Problem effektiv gelöst wird.

Codeänderung

Um die Lösung zu implementieren, integrieren Sie einfach die Konstante JSON_UNESCAPED_SLASHES als ein zweiter Parameter innerhalb der json_encode-Funktion. Der geänderte Code sollte wie folgt aussehen:

echo json_encode($result, JSON_UNESCAPED_SLASHES); // <-- Adds the JSON_UNESCAPED_SLASHES option
Nach dem Login kopieren

Dadurch wird sichergestellt, dass der resultierende JSON keine unnötigen Backslashes enthält und das gewünschte Ergebnis liefert:

{
  "logo_url": "http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg",
  "img_id": "54",
  "feedback": {
    "message": "File uploaded",
    "success": true
  }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum fügt „json_encode' Backslashes zu meinen JSON-Daten hinzu?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage