json解析带换行符的字符串出错

现象

在使用JSON.parse解析带有换行符\n\r\r\n的JSON字符串时会出错。

var str = '{ "text": "abc\nedf" }'
JSON.parse(str)  // Uncaught SyntaxError: Unexpected token in JSON at position 14

解决办法

将JSON字符串中的换行符转义。

var str = '{ "text": "abc\nedf" }'
str = str.replace(/\n/g,"\\n").replace(/\r/g,"\\r")
JSON.parse(str) // {text: "abc↵edf"}

换行符会在控制台输出成一个回车箭头。

你可能感兴趣的:(json解析带换行符的字符串出错)