Ich versuche, doppelte Anführungszeichen anzuzeigen, aber es zeigt einen der Backslashes:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
Beim Rendern im HTML wird es als angezeigt \"Example text\"
. Was ist der richtige Weg?
All characters may be placed within the quotation marks except for the characters that must be escaped
und dann es spezifiziert:\" represents the quotation mark character (U+0022)
Wann und wo
\\\"
stattdessen zu verwenden . OK, wenn du wie ich bist, wirst du dich genauso albern fühlen wie ich, als mir klar wurde, was ich tat, nachdem ich diesen Thread gefunden hatte.Wenn Sie eine .json-Textdatei / einen Stream erstellen und die Daten von dort importieren, lautet die Antwort des Haupt-Streams mit nur einem Backslash vor den doppelten Anführungszeichen:
\"
diejenige, nach der Sie suchen.Wenn Sie jedoch wie ich sind und versuchen, den w3schools.com "Tryit Editor" dazu zu bringen, doppelte Anführungszeichen in der Ausgabe von JSON.parse (Text) zu haben, ist das gesuchte das Dreifache Backslash doppelte Anführungszeichen
\\\"
. Dies liegt daran, dass Sie Ihre Textzeichenfolge in einem HTML-<script>
Block erstellen und der erste doppelte Backslash einen einzelnen Backslash in die Zeichenfolgenvariable einfügt. Das folgende doppelte Backslash-Anführungszeichen fügt das doppelte Anführungszeichen in die Zeichenfolge ein, sodass die resultierende Skriptzeichenfolge das\"
from enthält Die Standardantwort und der JSON-Parser analysieren dies nur als doppelte Anführungszeichen.+1: Da es sich um eine JavaScript-Textzeichenfolge handelt, würde auch ein doppeltes Backslash-Anführungszeichen
\\"
funktionieren. weil das doppelte Anführungszeichen nicht innerhalb einer einfachen Zeichenfolge in Anführungszeichen gesetzt werden muss, z. B.'\"'
und'"'
dieselbe JS-Zeichenfolge ergibt.quelle
Es zeigt den Backslash, weil Sie auch dem Backslash entkommen.
Abgesehen von doppelten Anführungszeichen müssen Sie auch Backslashes vermeiden, wenn Sie einen in Ihre JSON-Zeichenfolge in Anführungszeichen aufnehmen möchten. Wenn Sie jedoch beabsichtigen, einen Backslash in einer Escape-Sequenz zu verwenden, sollten Sie ihn natürlich nicht maskieren.
quelle
Beachten Sie, dass dies am häufigsten auftritt, wenn der Inhalt "doppelt codiert" wurde, was bedeutet, dass der Codierungsalgorithmus versehentlich zweimal aufgerufen wurde.
Der erste Aufruf würde den Wert "text2" codieren:
VON: Heute begann unsere Rundreise "Beispieltext". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
TO: Heute startete unsere Rundreise "Beispieltext". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Eine zweite Codierung konvertiert sie dann erneut und entgeht den bereits maskierten Zeichen:
VON: Heute startete unsere Rundreise "Beispieltext". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
TO: Heute startete unsere Rundreise \\\ "Beispieltext \\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Wenn Sie hier für die Implementierung des Servers verantwortlich sind, stellen Sie sicher, dass nicht zwei Schritte ausgeführt werden, um denselben Inhalt zu codieren.
quelle
Wenn Sie doppelte Anführungszeichen in JSON vermeiden möchten, verwenden Sie \\, um sie zu umgehen.
Beispiel, wenn Sie einen JSON des folgenden Javascript-Objekts erstellen möchten
dann müssen Sie folgendermaßen schreiben
wenn wir es mit analysieren
JSON.parse()
Ergebnis wird sein
quelle
Um Backslashes zu vermeiden, die Probleme mit JSON-Daten verursachen, verwende ich diese Funktion.
quelle
Für diejenigen, die Entwickler Powershell verwenden möchten. Hier sind die Zeilen, die Sie zu Ihrer settings.json hinzufügen können:
quelle