2012-02-11 112 views
41

Estoy tratando de inyectar json en mi aplicación backbone.js. Mi json tiene " para cada cotización.¿Cómo eliminar " de mi Json en javascript?

¿Hay alguna manera de eliminar esto?
que he proporcionado una muestra a continuación:

[{"Id":1,"Name":"Name}] 
+3

¿Por qué no detener esto en primer lugar? Actualmente, no tienes JSON, pero algo que se parece un poco a eso. –

+0

Estaba codificando las comillas. Es un problema totalmente diferente, no relacionado con Json, pero relacionado con ASP.NET MVC. Es posible que deseemos eliminar esta publicación. – Frankie

Respuesta

86

Es de suponer que lo tienes en una variable y están utilizando JSON.parse(data);. En cuyo caso, el uso:

JSON.parse(data.replace(/"/g,'"')); 

Es posible que desee fijar su script JSON-escritura sin embargo, porque " no es válido en un objeto JSON.

+1

Cuando pruebo esto, vi mi código js cambiar a eso: 'result.replace (/ "/g, '"') ' – efirat

+0

Eso es justo lo que necesitaba, ¡gracias! –

+0

@kirlisakal fueron capaces de evitar este problema ? – turbo2oh

5

La respuesta aceptada es correcta, sin embargo tuve un problema con eso. Cuando agrego en mi código, el control sobre depurador, vi que cambia de

result.replace(/"/g,'"') 

a

result.replace(/"/g,'"') 

En lugar de ello utilizo este

result.replace(/(&quot\;)/g,"\"") 

Por esta notación se trabajos.

1
var data = $('<div>').html('[{&quot;Id&quot;:1,&quot;Name&quot;:&quot;Name}]')[0].textContent; 

que deberían analizar todos los valores codificados que necesita.

+0

Gran truco si necesita unescape más caracteres :) – Genaut

Cuestiones relacionadas