如何删除&;引用;从javascript中的Json?

如何删除&;引用;从javascript中的Json?,javascript,Javascript,我正在尝试将json注入到我的backbone.js应用程序中。我的json对每个报价都有“ 有没有办法让我去掉这个? 我在下面提供了一个示例: [{"Id":1,"Name":"Name}] 假设您将它放在一个变量中,并且正在使用JSON.parse(data);。在这种情况下,请使用: JSON.parse(data.replace(/"/g,'"')); 不过,您可能需要修复JS

我正在尝试将json注入到我的backbone.js应用程序中。我的json对每个报价都有

有没有办法让我去掉这个?
我在下面提供了一个示例:

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

假设您将它放在一个变量中,并且正在使用
JSON.parse(data);
。在这种情况下,请使用:

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

不过,您可能需要修复JSON编写脚本,因为
在JSON对象中无效。

接受的答案是正确的,但我遇到了一个问题。 当我加入我的代码,检查调试器时,我看到它从

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

与此相反,我使用的是:

result.replace(/(&quot\;)/g,"\"")
通过这种表示法,它可以工作。

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

这将解析您需要的所有编码值。

以下内容适用于我:

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

    return areaElement.value;
}

我在记事本++中使用了替换功能,并将
(不带引号)替换为
,结果是有效的json

在我的例子中,“quot”被替换为其他字符,所以我找到了一个愚蠢但有效的解决方法

str.replace(/&qu/g,'').replace(/ot\;/g,'')

这是一种简单的方法,可以将quot替换为需要更改的字符、字符串等

        function solve(input) {
   const replaced = '"' // e.g. replace &quot; by "
   const result = input.replace(/&quot;/g, replaceWith)
   return result;
} 

console.log(solve('{&quot;x&quot;:&quot;1&quot;,&quot;y&quot;:&quot;2&quot;,&quot;z&quot;:&quot;10&quot;}')
   

为什么不从一开始就阻止这种情况发生呢?目前你根本没有JSON,但是看起来有点像它。它是对引号进行编码的。这是一个完全不同的问题,与JSON无关,但与ASP.NET MVC有关。我们可能想删除这篇文章。使用它而不是替换当我尝试这一点时,我看到我的js代码发生了变化o那:
result.replace(/";/g,“”)
@kirlisakal你能绕过这个问题吗?这是可行的,但是如果数据有这样的值:
10“6英寸显示器
?那么你可能想修复你的JSON编写脚本。我在一个不是我的API中看到了这一点。为什么它会生成
”而不是
?(我认为这是一个react应用程序)这是最好的解决方案。我有很多转义符。这个技巧没有转义。是的,它很有效!但我需要自定义会话对象来修复这个问题:(
        function solve(input) {
   const replaced = '"' // e.g. replace &quot; by "
   const result = input.replace(/&quot;/g, replaceWith)
   return result;
} 

console.log(solve('{&quot;x&quot;:&quot;1&quot;,&quot;y&quot;:&quot;2&quot;,&quot;z&quot;:&quot;10&quot;}')