Der Grund dafür "entgeht" mir.
JSON entgeht der Schrägstrich, so dass eine Raute {a: "a/b/c"}
wird serialisiert als {"a":"a\/b\/c"}
anstelle von {"a":"a/b/c"}
.
Warum?
Der Grund dafür "entgeht" mir.
JSON entgeht der Schrägstrich, so dass eine Raute {a: "a/b/c"}
wird serialisiert als {"a":"a\/b\/c"}
anstelle von {"a":"a/b/c"}
.
Warum?
JSON verlangt das nicht, es erlaubt es. Es erlaubt Ihnen auch die Verwendung von " \u0061 " für "A", aber das ist nicht erforderlich, wie Harold L. betont:
In der JSON-Spezifikation heißt es, dass Sie den Schrägstrich umgehen KÖNNEN, aber Sie müssen es nicht.
Harold L antwortete am 16. Oktober '09 um 21:59 Uhr
Erlauben \/
hilft beim Einbetten von JSON in eine <script>
Tag, der es nicht erlaubt </
innerhalb von Strings, wie Seb betont:
Das liegt daran, dass HTML keine Zeichenkette innerhalb einer
<script>
Tag zu enthalten</
Falls diese Teilzeichenkette vorhanden ist, sollten Sie also jeden Schrägstrich auslassen.
Seb antwortete am 16. Oktober '09 um 22:00 Uhr (#1580667)
Einige von Microsofts ASP.NET Ajax/JSON-APIs nutzen dieses Schlupfloch, um zusätzliche Informationen hinzuzufügen, z. B. wird eine Datumsangabe als "\/Date(milliseconds)\/"
. (Igitt)
PHP bricht Schrägstriche standardmäßig ab Das ist wahrscheinlich der Grund, warum dies so häufig vorkommt. Ich bin mir nicht sicher, warum, aber möglicherweise, weil die Einbettung der Zeichenfolge "</script>"
innerhalb einer <script>
Tag wird als unsicher angesehen.
Diese Funktionalität kann durch die Übergabe des Parameters JSON_UNESCAPED_SLASHES
Flag, aber die meisten Entwickler werden dies nicht verwenden, da das ursprüngliche Ergebnis bereits gültiges JSON ist.
Pregunté die gleiche Frage vor einiger Zeit und musste sie selbst beantworten. Hier ist, was ich herausgefunden habe:
Es scheint, mein erster Gedanke [ dass es von seinem JavaScript Wurzeln ] war richtig.
'\/' === '/'
in JavaScript, und JSON es gültiges JavaScript. Wie auch immer, warum sind die anderen ignorierten Escapes (wie\z
) in JSON nicht erlaubt?Der Schlüssel dazu war das Lesen http://www.cs.tut.fi/~jkorpela/www/revsol.html gefolgt von http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.2 . Das Merkmal der des Slash-Escape ermöglicht die Einbettung von JSON in HTML (als SGML) und XML.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.