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}]
javascript
Frankie
źródło
źródło
Odpowiedzi:
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.źródło
result.replace(/"/g,'"')
10"6 inch display
?"
zamiast"
? (Myślę, że to aplikacja do reagowania)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(/("\;)/g,"\"")
Dzięki tej notacji to działa.
źródło
var data = $('<div>').html('[{"Id":1,"Name":"Name}]')[0].textContent;
to powinno przeanalizować wszystkie potrzebne zakodowane wartości.
źródło
U mnie działa:
function decodeHtml(html) { let areaElement = document.createElement("textarea"); areaElement.innerHTML = html; return areaElement.value; }
źródło
Użyłem funkcji zamiany w Notepad ++ i zastąpiłem
"
(bez cudzysłowów),"
a wynikiem był poprawny jsonźródło