Jak usunąć & bdquo; z mojego Json w javascript?


86

Próbuję wstrzyknąć json do mojej aplikacji backbone.js. Mój json ma "dla każdego cytatu.

Czy jest sposób, abym to usunął?
Poniżej przedstawiam próbkę:

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

3
Dlaczego nie powstrzymać tego przed tym w pierwszej kolejności? Obecnie w ogóle nie masz JSON, ale coś, co trochę do niego przypomina.
Wyścigi lekkości na orbicie

Zakodował cytaty. To zupełnie inny problem niezwiązany z Json, ale związany z ASP.NET MVC. Możemy chcieć usunąć ten post.
Frankie

Odpowiedzi:


167

Prawdopodobnie masz to w zmiennej i używasz JSON.parse(data);. W takim przypadku użyj:

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

Możesz jednak chcieć naprawić skrypt do pisania JSON, ponieważ "nie jest on prawidłowy w obiekcie JSON.


1
Kiedy próbowałem tego, zauważyłem, że mój kod js zmienia się na taki:result.replace(/"/g,'"')
efirat

@kirlisakal, czy udało Ci się obejść ten problem?
turbo2oh

To działa, ale co, jeśli dane mają jakąś wartość tak: 10"6 inch display?
Shyam Kansagra

Wtedy możesz chcieć naprawić swój skrypt do pisania JSON.
Niet the Dark Absol

Widzę to w API, które nie jest moje. Dlaczego miałby generować "zamiast "? (Myślę, że to aplikacja do reagowania)
stevec

18

Przyjęta odpowiedź jest prawidłowa, jednak miałem z tym problem. Kiedy dodałem kod, sprawdzając debuger, zauważyłem, że zmienia się z

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

do

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

Zamiast tego używam tego:

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

Dzięki tej notacji to działa.


Tak to działa! ale muszę dostosować obiekt sesji, aby to naprawić :(
muhammad tayyab

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

to powinno przeanalizować wszystkie potrzebne zakodowane wartości.


To było najlepsze rozwiązanie. Miałem wiele elementów ucieczki. Ta sztuczka nie
uniknęła

0

U mnie działa:

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

    return areaElement.value;
}

0

Użyłem funkcji zamiany w Notepad ++ i zastąpiłem &quot;(bez cudzysłowów), "a wynikiem był poprawny json

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.