Як видалити & quot; від мого Json у javascript?


87

Я намагаюся ввести json у свій додаток backbone.js. Мій json має "для кожної цитати.

Чи можна мені це видалити?
Я представив зразок нижче:

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

3
Чому б не перешкодити цьому взагалі? В даний час у вас зовсім немає JSON, але щось схоже на це.
Гонки легкості на орбіті

Він кодував котирування. Це зовсім інша проблема, не пов’язана з Json, а пов’язана з ASP.NET MVC. Можливо, ми захочемо видалити цю публікацію.
Frankie

використовувати це замість того , щоб замінити stackoverflow.com/questions/11147468 / ...
Харун Караджа

Відповіді:


168

Імовірно, ви маєте це у змінній і використовуєте JSON.parse(data);. У цьому випадку використовуйте:

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

Можливо, ви захочете виправити сценарій написання JSON, оскільки "він не дійсний в об’єкті JSON.


2
Спробувавши це, я побачив, як мій код js змінився на такий:result.replace(/"/g,'"')
efirat

@kirlisakal чи змогли ви обійти цю проблему?
turbo2oh

Це працює, але що, якщо дані мають якесь значення 10"6 inch display:?
Shyam Kansagra

Тоді вам може знадобитися виправити сценарій написання JSON.
Niet the Dark

Я бачу це в API, який не є моїм. Чому це буде генерувати "замість "? (Я думаю, що це додаток для реагування)
stevec

18

Прийнята відповідь правильна, однак у мене з цим виникли проблеми. Коли я додав свій код, перевіряючи налагоджувач, я побачив, що він змінюється з

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

до

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

Замість цього я використовую таке:

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

За цим позначенням це працює.


Так, це працює! але мені потрібно налаштувати об'єкт Session, щоб це виправити :(
Мухаммед Тайяб,

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

який повинен проаналізувати всі необхідні закодовані значення.


Це було найкраще рішення. У мене було багато рятувальних символів. Цей трюк
уникнув

0

Для мене працює наступне:

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

    return areaElement.value;
}

0

я використав функцію заміни в Notepad ++ і замінив &quot;(без лапок) на "і результат був дійсним json

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.