Javascript:用其他字符替换反斜杠和双引号

Javascript:用其他字符替换反斜杠和双引号,javascript,regex,Javascript,Regex,我试图用null或其他字符替换\,并尝试进行JSON解析,但这并没有发生在al。下面是我的代码 var s = '{"total":2,"data":[{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{}],"assignName":"BC Si

我试图用null或其他字符替换\,并尝试进行JSON解析,但这并没有发生在al。下面是我的代码

var s = '{"total":2,"data":[{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{}],"assignName":"BC Simple Form","assignId":"100003","assignProcessId":"3"},{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{"Name":"Rishant","City":"Bangalore","Desc":"Platform-Dev","AUDIT_COMPANIES":"[{\"AUDIT_COMPANY\":\"Golder\",\"AUDITORS\":[{\"TPA_AUDITOR\":\"Swadhin Ray\",\"IS_LEAD\":\"0\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"},{\"TPA_AUDITOR\":\"Praveen Kayetha\",\"IS_LEAD\":\"1\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"}]}]"}],"assignName":"BC Simple Form","assignId":"100001","assignProcessId":"2"}]}';


s= s.replace(/\\"/g, "DOUBLEQ");

console.log(s);
var data = JSON.parse(s);
console.log(data);
我找到的解决办法是

var dataResponse = JSON.parse(s);

      var dataLen = dataResponse.data.length;

      for(var i=0;i<dataLen;i++){
        var audit_co = dataResponse.data[i].assignAdditionalInfo[0].AUDIT_COMPANIES;
        if(typeof audit_co!= 'undefined')
          dataResponse.data[i].assignAdditionalInfo[0].AUDIT_COMPANIES = JSON.parse(audit_co.replace(/\\"/g,'"'));
      }
var-dataResponse=JSON.parse;
var dataLen=dataResponse.data.length;

对于(var i=0;i我不认为它是非法的JSON-它看起来像JSON中的JSON,这是有效的。试着只解析它而不更改它。

我不认为它是非法的JSON-它看起来像JSON中的JSON,这是有效的。试着只解析它而不更改它。

我不认为它是非法的JSON-它看起来像JSON中的JSON,这是valid。试着只解析而不更改它。

我不认为它是非法的JSON-它看起来像JSON中的JSON,这是有效的。试着只解析而不更改它。

当您创建“s”字符串时,\”已经被删除,因此\char不相似。这就是为什么您不能替换它\用某物,因为它不存在。

当你创建's'字符串时,\'已经被esaped,所以\char不存在。这就是为什么你不能用某物替换\'的原因,因为它不存在。

当你创建's'字符串时,\'已经被esaped,所以\char不存在。这就是为什么你不能替换\'使用某物,因为它不存在。

当您创建“s”字符串时,\“已被删除,因此\char不可用。这就是为什么您不能用某物替换\”,因为它不存在。

您不需要将其解析为无效的JSON:
您可以直接访问值:

<script>
    var s = {"total":2,"data":[{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{}],"assignName":"BC Simple Form","assignId":"100003","assignProcessId":"3"},{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{"Name":"Rishant","City":"Bangalore","Desc":"Platform-Dev","AUDIT_COMPANIES":"[{\"AUDIT_COMPANY\":\"Golder\",\"AUDITORS\":[{\"TPA_AUDITOR\":\"Swadhin Ray\",\"IS_LEAD\":\"0\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"},{\"TPA_AUDITOR\":\"Praveen Kayetha\",\"IS_LEAD\":\"1\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"}]}]"}],"assignName":"BC Simple Form","assignId":"100001","assignProcessId":"2"}]};
    console.log(s.data);
</script>

var s={“total”:2,“data”:[{“assignExist”:“Online”,“status”:“Started Work”,“state”:“Ready to Download”,“assignInfoletId”:“100003”,“loadAssignId”:“false”,“assignAdditionalInfo”:[{}],“assignName”:“BC Simple Form”,“assignId”:“100003”,“assignProcessId”:“3”},“assignExist”:“Online”,“status”:“Started Work”,“status”:“Ready to Download”,“assigninfoleted”:“100003”,“loadAssignId:“false”,“assignAdditionalInfo:“{”Name:“Rishant”,“City:“Bangalore”,“Desc:“Platform Dev”,“AUDIT\u COMPANY:“[{”AUDIT\u COMPANY\”:“Golder\”,“AUDITORS\”:“{”TPA\u AUDITOR\”:“Swadhin Ray\”,“IS LEAD\”:“0\,“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”,“ASSIGNMENTS\”:“ASSIGNMENTS\”,“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”:“ASSIGNMENTS\”:“Assignment\“:\“Assigmens,Sdsfds,sdfdsfd\”}]}],“assignName”:“BC简单形式”,“assignId”:“100001”,“assignProcessId”:“2”}]};
console.log(s.data);

您不需要将其解析为无效的JSON:
您可以直接访问值:

<script>
    var s = {"total":2,"data":[{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{}],"assignName":"BC Simple Form","assignId":"100003","assignProcessId":"3"},{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{"Name":"Rishant","City":"Bangalore","Desc":"Platform-Dev","AUDIT_COMPANIES":"[{\"AUDIT_COMPANY\":\"Golder\",\"AUDITORS\":[{\"TPA_AUDITOR\":\"Swadhin Ray\",\"IS_LEAD\":\"0\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"},{\"TPA_AUDITOR\":\"Praveen Kayetha\",\"IS_LEAD\":\"1\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"}]}]"}],"assignName":"BC Simple Form","assignId":"100001","assignProcessId":"2"}]};
    console.log(s.data);
</script>

var s={“total”:2,“data:[{“assignExist”:“Online”,“status”:“Started Work”,“state”:“Ready to Download”,“assignInfoletId”:“100003”,“loadAssignId”:“false”,“assignAdditionalInfo”:[{}],“assignName”:“BC Simple Form”,“assignId”:“100003”,“assignProcessId”:“3”},“assignExist:“Online”,“status”:“Started Work”,“status”:“Ready to Download”,“assigninfoleted”“:”100003“,”loadAssignId“:”false“,”assignAdditionalInfo“:”{”姓名“:”Rishant“,”城市“:”班加罗尔“,”描述“:”平台开发“,”审计公司“:”Golder“,”审计员“:”:[{”TPA U审计员“:”Swadhin Ray“,”IS LEAD“:”0“,”任务“,”助理,SDSFD,sdfdsfd“,”TPA审计员“,”:“,”普拉文“,”卡伊斯任务“,”1\“:\“Assigmens,Sdsfds,sdfdsfd\”}]}],“assignName”:“BC简单形式”,“assignId”:“100001”,“assignProcessId”:“2”}]};
console.log(s.data);

您不需要将其解析为无效的JSON:
您可以直接访问值:

<script>
    var s = {"total":2,"data":[{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{}],"assignName":"BC Simple Form","assignId":"100003","assignProcessId":"3"},{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{"Name":"Rishant","City":"Bangalore","Desc":"Platform-Dev","AUDIT_COMPANIES":"[{\"AUDIT_COMPANY\":\"Golder\",\"AUDITORS\":[{\"TPA_AUDITOR\":\"Swadhin Ray\",\"IS_LEAD\":\"0\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"},{\"TPA_AUDITOR\":\"Praveen Kayetha\",\"IS_LEAD\":\"1\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"}]}]"}],"assignName":"BC Simple Form","assignId":"100001","assignProcessId":"2"}]};
    console.log(s.data);
</script>

var s={“total”:2,“data:[{“assignExist”:“Online”,“status”:“Started Work”,“state”:“Ready to Download”,“assignInfoletId”:“100003”,“loadAssignId”:“false”,“assignAdditionalInfo”:[{}],“assignName”:“BC Simple Form”,“assignId”:“100003”,“assignProcessId”:“3”},“assignExist:“Online”,“status”:“Started Work”,“status”:“Ready to Download”,“assigninfoleted”“:”100003“,”loadAssignId“:”false“,”assignAdditionalInfo“:”{”姓名“:”Rishant“,”城市“:”班加罗尔“,”描述“:”平台开发“,”审计公司“:”Golder“,”审计员“:”:[{”TPA U审计员“:”Swadhin Ray“,”IS LEAD“:”0“,”任务“,”助理,SDSFD,sdfdsfd“,”TPA审计员“,”:“,”普拉文“,”卡伊斯任务“,”1\“:\“Assigmens,Sdsfds,sdfdsfd\”}]}],“assignName”:“BC简单形式”,“assignId”:“100001”,“assignProcessId”:“2”}]};
console.log(s.data);

您不需要将其解析为无效的JSON:
您可以直接访问值:

<script>
    var s = {"total":2,"data":[{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{}],"assignName":"BC Simple Form","assignId":"100003","assignProcessId":"3"},{"assignExist":"Online","status":"Started Work","state":"Ready for Download","assignInfoletId":"100003","loadAssignId":"false","assignAdditionalInfo":[{"Name":"Rishant","City":"Bangalore","Desc":"Platform-Dev","AUDIT_COMPANIES":"[{\"AUDIT_COMPANY\":\"Golder\",\"AUDITORS\":[{\"TPA_AUDITOR\":\"Swadhin Ray\",\"IS_LEAD\":\"0\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"},{\"TPA_AUDITOR\":\"Praveen Kayetha\",\"IS_LEAD\":\"1\",\"ASSIGNMENTS\":\"Assigmens, Sdsfds,sdfdsfd\"}]}]"}],"assignName":"BC Simple Form","assignId":"100001","assignProcessId":"2"}]};
    console.log(s.data);
</script>

var s={“total”:2,“data:[{“assignExist”:“Online”,“status”:“Started Work”,“state”:“Ready to Download”,“assignInfoletId”:“100003”,“loadAssignId”:“false”,“assignAdditionalInfo”:[{}],“assignName”:“BC Simple Form”,“assignId”:“100003”,“assignProcessId”:“3”},“assignExist:“Online”,“status”:“Started Work”,“status”:“Ready to Download”,“assigninfoleted”“:”100003“,”loadAssignId“:”false“,”assignAdditionalInfo“:”{”姓名“:”Rishant“,”城市“:”班加罗尔“,”描述“:”平台开发“,”审计公司“:”Golder“,”审计员“:”:[{”TPA U审计员“:”Swadhin Ray“,”IS LEAD“:”0“,”任务“,”助理,SDSFD,sdfdsfd“,”TPA审计员“,”:“,”普拉文“,”卡伊斯任务“,”1\“:\“Assigmens,Sdsfds,sdfdsfd\”}]}],“assignName”:“BC简单形式”,“assignId”:“100001”,“assignProcessId”:“2”}]};
console.log(s.data);

目前您有:

var s = '{"plainValue": 42, "nestedJSON": "{\"nested\": \"json\"}"}';
这是无效的,因为它转换为以下内存中字符串:

{"plainValue": 42, "nestedJSON": "{"nested": "json"}"} ^ ^ ^ ^ invalid double quotes 从语法上讲是正确的,但是愚蠢的

var s = '{"plainValue": 42, "nestedJSON": "{\\"nested\\": \\"json\\"}"}';

从源代码处修复此问题。生成JSON字符串的函数已损坏。

当前您有以下问题:

var s = '{"plainValue": 42, "nestedJSON": "{\"nested\": \"json\"}"}';
这是无效的,因为它转换为以下内存中字符串:

{"plainValue": 42, "nestedJSON": "{"nested": "json"}"} ^ ^ ^ ^ invalid double quotes 从语法上讲是正确的,但是愚蠢的

var s = '{"plainValue": 42, "nestedJSON": "{\\"nested\\": \\"json\\"}"}';

从源代码处修复此问题。生成JSON字符串的函数已损坏。

当前您有以下问题:

var s = '{"plainValue": 42, "nestedJSON": "{\"nested\": \"json\"}"}';
这是无效的,因为它转换为以下内存中字符串:

{"plainValue": 42, "nestedJSON": "{"nested": "json"}"} ^ ^ ^ ^ invalid double quotes 从语法上讲是正确的,但是愚蠢的

var s = '{"plainValue": 42, "nestedJSON": "{\\"nested\\": \\"json\\"}"}';
从源头上解决问题。