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
Susan SarandonOriginal
2024-11-11 07:19:03975Durchsuche

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);

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}}

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!

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