Estoy tratando de mostrar comillas dobles pero muestra una de las barras invertidas:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
Al renderizar en el html se muestra como \"Example text\"
. ¿Cuál es la manera correcta?
All characters may be placed within the quotation marks except for the characters that must be escaped
y luego especifica:\" represents the quotation mark character (U+0022)
Cuándo y dónde usar
\\\"
en su lugar. De acuerdo, si eres como yo, te sentirás tan tonto como yo cuando me di cuenta de lo que estaba haciendo después de encontrar este hilo.Si está creando un archivo / secuencia de texto .json e importando los datos desde allí, entonces la respuesta de la secuencia principal de solo una barra invertida antes de las comillas dobles:
\"
es la que está buscando.Sin embargo, si eres como yo y estás intentando que el "Editor Tryit" de w3schools.com tenga comillas dobles en la salida del JSON.parse (texto), entonces la que estás buscando es la triple barra invertida comillas dobles
\\\"
. Esto se debe a que usted está construyendo su cadena de texto dentro de un archivo HTML<script>
de bloques, y las primeras inserciones dobles de barra invertida una sola barra invertida en la variable de cadena a continuación, la siguiente cita doble barra invertida inserta las comillas en la cadena para que la cadena guión resultante contiene la\"
de la respuesta estándar y el analizador JSON analizarán esto solo como comillas dobles.+1: dado que es una cadena de texto de JavaScript, una comilla doble de doble barra invertida
\\"
también funcionaría; porque la comilla doble no necesita escapar dentro de una sola cadena citada, por ejemplo,'\"'
y da como'"'
resultado la misma cadena JSfuente
Muestra la barra invertida porque también estás escapando de la barra invertida.
Además de las comillas dobles, también debe escapar de las barras diagonales inversas si desea incluir una en la cadena entre comillas JSON. Sin embargo, si tiene la intención de utilizar una barra diagonal inversa en una secuencia de escape, obviamente no debe escapar de ella.
fuente
Tenga en cuenta que esto ocurre con mayor frecuencia cuando el contenido ha sido "doble codificado", lo que significa que el algoritmo de codificación se ha llamado accidentalmente dos veces.
La primera llamada codificaría el valor "text2":
DE: Heute startet unsere Rundreise "Ejemplo de texto". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
TO: Heute startet unsere Rundreise \ "Texto de ejemplo \". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Una segunda codificación luego la convierte nuevamente, escapando de los caracteres ya escapados:
DE: Heute startet unsere Rundreise \ "Texto de ejemplo \". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
TO: Heute startet unsere Rundreise \\\ "Texto de ejemplo \\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.
Entonces, si usted es responsable de la implementación del servidor aquí, verifique que no haya dos pasos para codificar el mismo contenido.
fuente
si quiere escapar de la comilla doble en JSON, use \\ para escapar de ella.
ejemplo si quieres crear json del siguiente objeto javascript
entonces debes escribir de la siguiente manera
si lo analizamos usando
JSON.parse()
el resultado será
fuente
Para escapar de las barras invertidas que causan problemas para los datos JSON, uso esta función.
fuente
Para aquellos que deseen utilizar el desarrollador powershell. Aquí están las líneas para agregar a su settings.json:
fuente