根据json的rfc文档https://tools.ietf.org/html/rfc7159中指出,json数据中的字符串含有引号和斜杠这些字符时需要转义,那么就会导致json解析出错,所以后端在返回之前最好进行转义或转unicode处理或者前端在解析json前先进行转义或转unicode处理。
示例:
function toUnicode(arg) {
var result = '';
var character;
for (var i = 0; i<arg.length;i++) {
character = arg.charCodeAt(i).toString(16);
switch(character.length) {
case 1:
character = '000'+ character
break;
case 2:
character = '00'+ character
break;
case 3:
character = '0'+ character
break;
}
result += '\\u'+ character;
}
return result;
}
var a='sad\ndsa';
//JSON.parse('{"d":"'+a+'"}')//出错
JSON.parse('{"d":"'+toUnicode(a)+'"}')