Heim > Backend-Entwicklung > PHP-Tutorial > Warum sind in meinen JSON-codierten Daten Backslashes enthalten?

Warum sind in meinen JSON-codierten Daten Backslashes enthalten?

Susan Sarandon
Freigeben: 2024-11-11 07:19:03
Original
957 Leute haben es durchsucht

Why are there backslashes in my JSON encoded data?

Backslash-Escapes bei der JSON-Codierung

Bei der Verwendung von json_encode zum Konvertieren eines assoziativen Arrays in JSON stoßen einige Benutzer auf ein Problem, bei dem die codierten Daten Folgendes enthalten: unerwünschte Backslashes. Dieses Problem ist auf eine potenzielle Diskrepanz zwischen dem JSON-Kodierungsprozess und der anschließenden Analyse zurückzuführen.

Grundursache für Backslashes

Die Standard-JSON-Codierung in PHP maskiert Sonderzeichen, einschließlich Backslashes , um die Datenintegrität sicherzustellen. Wenn die codierten Daten jedoch durch externe JavaScript-Funktionen wie .parseJSON weiterverarbeitet werden, kann es zu unbeabsichtigtem Double-Escaped kommen.

Lösung: Option JSON_UNESCAPED_SLASHES

Zu lösen Bei diesem Problem können Sie die Option JSON_UNESCAPED_SLASHES explizit als zweiten Parameter von json_encode angeben. Diese Option weist PHP an, Backslashes während der Codierung nicht zu maskieren, wodurch das Problem der doppelten Escapezeichen beseitigt wird.

$result = [
    'logo_url' => 'http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg',
    'img_id' => 54,
    'feedback' => [
        'message' => 'File uploaded',
        'success' => 1
    ]
];

echo json_encode($result, JSON_UNESCAPED_SLASHES);
Nach dem Login kopieren

Dieser Code gibt gültiges JSON ohne zusätzliche Backslashes aus:

{"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 sind in meinen JSON-codierten Daten Backslashes enthalten?. 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