解析带有反斜杠的 JSON - Javascript

Mox*_*hah 5 javascript jquery json

我有这样的大 JSON:

{
  "EmployeeMaster": {
    "ImageContent": null,
    "ImageName": null,
    "EMP_PhotoPath": "E:\BBM0000000001comparison.png"
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试解析它,但由于EMP_PhotoPath.

如何解决此错误?

Rya*_*ker 6

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);
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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