JSON.parse在JSON字符串中存在\n时会失败。
- 论坛
- JSON.parse在JSON字符串中存在\n时会失败。
59 浏览
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 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字符串。