解析JSON有反斜杠 - Javascript

时间:2017-02-16 18:50:51

标签: javascript jquery json

我的大JSON是这样的:

{
  "EmployeeMaster": {
    "ImageContent": null,
    "ImageName": null,
    "EMP_PhotoPath": "E:\BBM0000000001comparison.png"
  }
}

我试图解析它,但由于EMP_PhotoPath中的斜杠而无法正常工作。

如何解决此错误?

2 个答案:

答案 0 :(得分:3)



var jsonString = String.raw`{"EmployeeMaster":{"ImageContent":null,"ImageName":null,"EMP_PhotoPath":"E:\BBM0000000001comparison.png"}}`;
jsonString = jsonString.replace("\\","\\\\");
var jsonObj = JSON.parse(jsonString);
alert(jsonObj.EmployeeMaster.EMP_PhotoPath);




您可以通过执行以下操作来实现此目的:

var jsonString = String.raw`{"EmployeeMaster":{"ImageContent":null,"ImageName":null,"EMP_PhotoPath":"E:\BBM0000000001comparison.png"}}`;
jsonString = jsonString.replace("\\","\\\\");
var jsonObj = JSON.parse(jsonString);

String.raw是一种可用于获取原始字符串而无需解释的方法,

  

它用于获取模板字符串的原始字符串形式(即原始的未解释文本)。

所以你可以用双反斜杠替换反斜杠,然后你可以解析它以保持原始的反斜杠。

答案 1 :(得分:1)

你必须用第二个斜线逃避斜线。你的有效json看起来像那样:

{
    "EmployeeMaster": {
        "ImageContent": null,
        "ImageName": null,
        "EMP_PhotoPath": "E:\\BBM0000000001comparison.png"
    }
}

ps:将其粘贴到JSONLint.com以验证。