【问题标题】:javascript replace escaped " to work with Json parsejavascript替换转义“以使用Json解析
【发布时间】:2014-11-08 02:16:44
【问题描述】:

这是 javacript 函数在 Json.parse 之后出现错误的输入 我知道双转义字符串正在与 JSON.parse 一起使用,但是如何将当前字符串转换为那个字符串...我尝试了几件事,但无法使其工作。

        pVis = '[{"Name":"Ecz., - \"     Europharma\" \" -\"","Id":"402872"}]';
        console.log('before replace'+pVis);
        pVis = pVis.replace(/\\/g,"\\\\");
        //pVis = '[{"Name":"Ecz., - \\"     Europharma\\" \\" -\\"","Id":"402872"}]';
        console.log('after replace'+pVis);
        pVisitedsJson = JSON.parse(pVis);

【问题讨论】:

  • 为什么“pVis”以这样的字符串开头?为什么不直接创建一个 JavaScript 对象字面量?
  • pVis = '[{"Name":"Ecz., - \" Europharma\" \" -\"","Id":"402872"}]'; 将使pVis 成为'[{"Name":"Ecz., - " Europharma" " -"","Id":"402872"}]' 而没有反斜杠。
  • 你需要使用pVis = '[{"Name":"Ecz., - \\" Europharma\\" \\" -\\"","Id":"402872"}]'
  • @Pointy 实际上它来自 android 作为参数,这就是为什么...
  • 您需要了解这两个赋值:s='ab\"c's='ab"c'完全相同

标签: javascript regex json


【解决方案1】:

由于它将 ' 字符解释为已转义,因此我无法在 javascript 端捕获并更改它。所以,我从源头上改变了。

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 2015-10-16
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2014-12-08
    相关资源
    最近更新 更多