jquery - Parsar JSON med bakåtsnedstreck - Javascript
Jag har stor JSON något som detta:
{
"EmployeeMaster": {
"ImageContent": null,
"ImageName": null,
"EMP_PhotoPath": "E:\BBM0000000001comparison.png"
}
}
Jag försöker analysera det, men det fungerar inte på grund av snedstrecket i EMP_PhotoPath.
Hur kan man lösa detta fel?
Svar #1
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);Du kan uppnå detta genom att göra något liknande detta:
var jsonString = String.raw`{"EmployeeMaster":{"ImageContent":null,"ImageName":null,"EMP_PhotoPath":"E:\BBM0000000001comparison.png"}}`;
jsonString = jsonString.replace("\\",""\");
var jsonObj = JSON.parse(jsonString);
String.raw är en metod du kan använda för att få den ursprungliga strängen utan tolkning,
Det används för att få den råa strängformen av mallsträngar (det vill säga den ursprungliga, ej tolkade texten).
Så du kan ersätta snedstrecket med dubbla snedstreck, sedan kan du tolka det för att behålla det ursprungliga snedstrecket.
Svar #2
Du måste undkomma snedstrecket med ett andra snedstreck. Din giltiga JSON skulle se ut så här:
{
"EmployeeMaster": {
"ImageContent": null,
"ImageName": null,
"EMP_PhotoPath": "E:\\BBM0000000001comparison.png"
}
}
ps: Klistra in det på JSONLint.com för att verifiera.
