如果json字符串中包含了換行符"\n",直接解析的話就會發生Uncaught SyntaxError: Unexpected token ILLEGAL 錯誤,很顯然需要轉換成"\\n",但是不能直接改成"\\n"不然本來不是換行也當成了換行,應該用正則表達式去做如下替換
function say_hello(){ var data = '{"count" : 1, "stack" : "sometext\n\n"}'; data = data.replace(/\n/g, "\\\\n"); var dataObj = eval('('+data+')'); console.log(dataObj); } say_hello();
http://jsfiddle.net/yyh19890221/r9bh2gb7/