Я пытаюсь заменить \»с нулевым или каким-то другим символом, и пытаюсь JSON синтаксический анализ, но его не происходит в Аль Ниже мой кодJavascript:. Заменить Бэкслэш и двойные кавычки с некоторыми другими полукоксом
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,'"'));
}
Почему у вас есть незаконный JSON? Легкое решение, несомненно, было бы просто для создания действительного JSON. – lonesomeday
@lonesomeday Строка JSON в образце OP действительна. – Tomalak
@Tomalak Нечетный, это вызывает у меня ошибку. Дело остается, однако, что решение недействительного JSON не предназначено для исправления его с помощью Javascript, а для создания в действительности JSON. – lonesomeday