validator json

validator - Cómo escapar de las comillas dobles en JSON



json vs xml (6)

En su lugar, cuándo y dónde usar ///" OK. Si eres como yo, te sentirás tan tonto como cuando me di cuenta de lo que estaba haciendo después de encontrar este hilo.

Si está creando un archivo / flujo de texto .json e importando los datos desde allí, entonces la respuesta principal de una barra invertida antes de las comillas dobles: es la que está buscando.

Sin embargo, si usted es como yo y está tratando de obtener el "Tryit Editor" de w3schools.com para que tenga una comillas dobles en la salida de JSON.parse (texto), entonces la que está buscando es la triple comillas dobles de barra invertida ///" . Esto se debe a que está creando una cadena de texto dentro de un bloque <script> HTML, y la primera barra diagonal inversa inserta una sola barra diagonal inversa en la variable de la cadena, luego la siguiente comilla doble de barra invertida inserta la comilla doble la cadena para que la secuencia de comandos resultante contenga el /" de la respuesta estándar y el analizador JSON lo analizará como comillas dobles.

<script> var text="{"; text += ''"quip":"///"If nobody is listening, then you/'re likely talking to the wrong audience.///""''; text += "}"; var obj=JSON.parse(text); </script>

+1: ya que es una cadena de texto JavaScript, una doble comilla doble //" también funcionaría; porque la comilla doble no necesita ser escapada dentro de una sola cadena entre comillas, por ejemplo, ''/"'' y ''"'' dan como resultado la misma cadena JS .

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

Cuando se renderiza en el html, se muestra como /"Example text/" . ¿Cuál es la manera correcta?


Está mostrando la barra invertida porque también estás escapando de la barra invertida.

Aparte de las comillas dobles, también debe escapar las barras invertidas si desea incluir una en su cadena de comillas JSON. Sin embargo, si pretende utilizar una barra invertida en una secuencia de escape, obviamente no debería escapar.


Para evitar las barras invertidas que causan problemas con los datos JSON, uso esta función.

//escape backslash to avoid errors var escapeJSON = function(str) { return str.replace(////g,''//'); };


Prueba esto:

"maingame": { "day1": { "text1": "Tag 1", "text2": "Heute startet unsere Rundreise /" Example text/". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> " } }

(solo una barra invertida ( / ) delante de las comillas).


Si quiere escapar de la comilla doble en JSON, use // para escapar de ella.

ejemplo si desea crear json del siguiente objeto javascript

{time: ''7 "o" clock''}

entonces debes escribir de la siguiente manera

''{"time":"7 //"o//" clock"}''

Si lo JSON.parse() usando JSON.parse()

JSON.parse(''{"time":"7 //"o//" clock"}'')

el resultado será

{time: "7 "o" clock"}


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":

FROM: Heute startet unsere Rundreise "Texto de ejemplo". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.

TO: Heute startet unsere Rundreise / "Example text /". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.

Una segunda codificación lo convierte nuevamente, escapando de los caracteres ya escapados:

FROM: Heute startet unsere Rundreise / "Example text /". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.

TO: Heute startet unsere Rundreise /// "Ejemplo de texto ///". 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 tratar de codificar el mismo contenido.