Как удалить & quot; из моего Json в javascript?

86

Я пытаюсь внедрить json в свое приложение backbone.js. У моего json есть "для каждой цитаты.

Есть ли способ удалить это?
Я привел образец ниже:

[{"Id":1,"Name":"Name}]
Фрэнки
источник
3
Почему бы в первую очередь не предотвратить это? В настоящее время у вас вообще нет JSON, но есть что-то похожее на него.
Гонки за легкостью на орбите
Это были цитаты. Это совершенно другая проблема, не связанная с Json, а связанная с ASP.NET MVC. Возможно, мы захотим удалить этот пост.
Фрэнки
используйте это вместо замены stackoverflow.com/questions/11147468/…
harun karaca

Ответы:

167

Предположительно у вас есть это в переменной и вы используете JSON.parse(data);. В этом случае используйте:

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

Возможно, вы захотите исправить свой сценарий записи JSON, потому что "он недопустим в объекте JSON.

Ниет Темный Абсол
источник
1
Когда я попробовал это, я увидел, что мой код js изменился на это:result.replace(/"/g,'"')
efirat
@kirlisakal Удалось ли вам обойти эту проблему?
turbo2oh
Это работает, но что , если данные имеют какое - то значение , как это: 10"6 inch display?
Шьям Канзагра
Затем вы можете исправить свой сценарий записи JSON.
Niet the Dark Absol
Я вижу это в чужом API. Почему он будет генерироваться "вместо "? (Я думаю, что это приложение для реагирования)
Stevec
18

Принятый ответ правильный, но у меня с этим были проблемы. Когда я добавляю свой код, проверяя отладчик, я увидел, что он меняется с

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

к

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

Вместо этого я использую это:

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

По этим обозначениям это работает.

эфират
источник
Да, это работает! но мне нужно настроить объект сеанса, чтобы исправить это :(
мухаммад тайяб
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;
}
linnx88
источник
0

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

Навин
источник