Cómo eliminar & quot; desde mi Json en javascript?


82

Estoy tratando de inyectar json en mi aplicación backbone.js. Mi json tiene "para cada cotización.

¿Hay alguna forma de eliminar esto?
He proporcionado una muestra a continuación:

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

3
¿Por qué no evitar que esto suceda en primer lugar? En la actualidad , no tiene JSON en absoluto, sino algo que se parece un poco.
Lightness Races in Orbit

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

use esto en lugar de reemplazar stackoverflow.com/questions/11147468/…
harun karaca

Respuestas:


162

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

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

Sin embargo, "es posible que desee corregir su script de escritura JSON, porque no es válido en un objeto JSON.


1
Cuando intento esto, vi que mi código js cambiaba a eso:result.replace(/"/g,'"')
efirat

@kirlisakal, ¿pudiste solucionar este problema?
turbo2oh

Esto funciona, pero ¿qué pasa si los datos tienen algún valor como este 10"6 inch display:?
Shyam Kansagra

Entonces es posible que desee arreglar su script de escritura JSON.
Niet the Dark Absol

Veo esto en una API que no es mía. ¿Por qué generaría en "lugar de "? (Creo que es una aplicación de reacción)
stevec

17

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

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

a

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

En lugar de esto, uso eso:

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

Con esta notación funciona.


¡Si, funciona! pero necesito personalizar el objeto Session para solucionar esto :(
muhammad tayyab

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

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


Esa fue la mejor solución. Tenía muchos personajes de escape. Este truco representan literalmente de todo
Gultekin

0

Lo siguiente funciona para mí:

function decodeHtml(html) {
    let areaElement = document.createElement("textarea");
    areaElement.innerHTML = html;

    return areaElement.value;
}

0

Usé la función de reemplazo en Notepad ++ y reemplacé &quot;(sin comillas) con "y el resultado fue json válido

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.