JSON.parse在JSON字符串中存在\n时会失败。

59 浏览
0 Comments

JSON.parse在JSON字符串中存在\n时会失败。

var jsonString = '{"htmluserresponse":"This is my firs \n test"}';
var jsonObj = JSON.parse(jsonString);
console.log("Test Response------" + jsonObj.htmluserresponse);

\nJSON.stringify()实际上是创建了我传入jsonString的字符串,但是JSON.parse如果字符串中包含\\n字符,将会失败。\n如何获取有效的字符串?

0
0 Comments

问题的原因是JSON.parse无法解析包含\n的JSON字符串。解决方法是在JSON字符串中使用双斜杠进行转义,即使用\\n代替\n。在实际应用中,如果使用JSON.stringify对包含换行符的JavaScript对象进行序列化,系统会自动进行转义。但是如果需要手动创建JSON字符串,可以使用str.replace(/\n/g, '\\n')来转义换行符。同时需要注意的是,JSON.stringify不会转义特殊的HTML字符,它只是创建一个JSON字符串。如果需要同时转义HTML字符和创建JSON字符串,可以先转义HTML字符串,然后再使用JSON.stringify创建JSON字符串。

0