Vorwärtsschrägstriche in json_encode() maskieren
Beim Arbeiten mit JSON-Daten in PHP kann es vorkommen, dass Schrägstriche („/“ ") werden mit json_encode() maskiert. Dies kann auftreten, wenn JSON-Daten aus externen Quellen abgerufen und zur Umstrukturierung in ein Array analysiert werden. Die maskierten Schrägstriche können die Integrität der Daten beeinträchtigen, wenn sie unverändert bleiben.
Um dieses Escape-Verhalten zu deaktivieren, stellen PHP 5.4 und höher das Flag JSON_UNESCAPED_SLASHES bereit. Indem Sie dieses Flag zu Ihrer json_encode()-Funktion hinzufügen, können Sie das automatische Escapen von Schrägstrichen verhindern.
$results = json_encode($results, JSON_UNESCAPED_SLASHES);
Diese Änderung stellt sicher, dass die Schrägstriche in Ihren JSON-Daten nicht maskiert bleiben, wodurch die Integrität der Daten erhalten bleibt nach dem Datei-Caching.
Wichtig Hinweis:
Bevor Sie JSON_UNESCAPED_SLASHES verwenden, ist es wichtig, die Auswirkungen zu verstehen. Dieses Flag sollte nicht in Web-/HTML-Kontexten verwendet werden, da es Sicherheitsrisiken bergen kann. Es kann jedoch in CLI- oder Nicht-HTTP-JSON-Kommunikationsumgebungen anwendbar sein. Wenn das Escapen von Schrägstrichen für die Lesbarkeit in Web-/HTML-Anwendungen unerlässlich ist, sollten Sie die Verwendung alternativer Methoden in Betracht ziehen, um damit umzugehen.
Beispiel:
Betrachten Sie das folgende Beispiel mit JSON-Daten wird abgerufen und analysiert:
$instagrams = json_decode($response)->data;
Nach der Umstrukturierung werden die Daten neu codiert und zwischengespeichert:
file_put_contents($cache, json_encode($results));
Die resultierende Cache-Datei würde maskierte Schrägstriche ohne JSON_UNESCAPED_SLASHES enthalten. Durch das Hinzufügen des Flags zur json_encode()-Funktion würden die Schrägstriche jedoch ohne Escapezeichen erhalten bleiben:
file_put_contents($cache, json_encode($results, JSON_UNESCAPED_SLASHES));
Durch das Verstehen und Verwenden des JSON_UNESCAPED_SLASHES-Flags können Sie das Escape-Verhalten von Schrägstrichen in JSON-Daten steuern und so sicherstellen, dass dies der Fall ist Integrität und Vermeidung potenzieller Datenkorruption.
Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass Schrägstriche in „json_encode()' von PHP maskiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!