【问题标题】:How to remove " from my Json in javascript?如何在javascript中从我的Json中删除“?
【发布时间】:2012-03-03 22:16:50
【问题描述】:

我正在尝试将 json 注入我的backbone.js 应用程序。我的 json 中每个引用都有 "

有没有办法让我删除它?
我在下面提供了一个示例:

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

【问题讨论】:

  • 为什么不首先阻止这种情况发生呢?目前您没有有 JSON,但看起来有点像它。
  • 它正在对引号进行编码。这是一个完全不同的问题,与 Json 无关,但与 ASP.NET MVC 相关。我们可能想删除这篇文章。

标签: javascript


【解决方案1】:

大概你把它放在一个变量中并且使用JSON.parse(data);。在这种情况下,使用:

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

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

【讨论】:

  • 当我尝试这个时,我看到我的 js 代码更改为:result.replace(/"/g,'"')
  • @kirlisakal 你能解决这个问题吗?
  • 这行得通,但是如果数据有一些像这样的值怎么办:10"6 inch display?
  • 那么您可能想要修复您的 JSON 编写脚本。
  • 我在不属于我的 API 中看到了这一点。为什么它会生成" 而不是"? (我认为这是一个 React 应用)
【解决方案2】:

接受的答案是正确的,但是我遇到了麻烦。 当我添加我的代码并检查调试器时,我看到它从

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

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

我用那个代替这个:

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

通过这种表示法,它可以工作。

【讨论】:

  • 是的,它有效!但我需要自定义 Session 对象来解决这个问题:(
【解决方案3】:
var data = $('<div>').html('[{&quot;Id&quot;:1,&quot;Name&quot;:&quot;Name}]')[0].textContent;

它应该解析您需要的所有编码值。

【讨论】:

  • 那是最好的解决方案。我有很多逃生角色。这个技巧没有逃脱所有
【解决方案4】:

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

function solve(input) {
   const replaceWith = '"' // 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;}')
   

【讨论】:

    【解决方案5】:

    以下对我有用:

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

    【讨论】:

    • 成功了!我要做的唯一更改是使用 areaElement.remove(); 删除末尾的 textarea;
    【解决方案6】:

    在我的情况下,“quot”被替换为其他字符,所以我找到了一个愚蠢但可行的解决方法

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

    【讨论】:

      【解决方案7】:

      我在 Notepad++ 中使用了替换功能,并将 &amp;quot;(不带引号)替换为 ",结果是有效的 json

      【讨论】:

        【解决方案8】:

        如果您使用的是 SQL,那么您可以使用:

        更新表名 设置有效载荷 = 替换(有效载荷,'&',chr(39)) 其中 id = '唯一 ID';

        【讨论】:

          【解决方案9】:

          如果你使用的是python,那么你可以使用:

          import html
          l = [{&quot;Id&quot;:1,&quot;Name&quot;:&quot;Name}]
          r = html.unescape(l)
          

          【讨论】:

            猜你喜欢
            • 2021-03-24
            • 2019-09-15
            • 1970-01-01
            • 2013-10-13
            • 2011-03-19
            • 2020-06-07
            • 2022-08-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多