Как удалить & 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;
}

0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.