但是有幾條數據一直出不來,檢查發現json裏包含了換行符,形成這種狀況的緣由多是編輯部門在編輯的時候打的回車形成的正則表達式
假設有這樣一段json格式的字符串json
假如上面這段json是string類型 如今須要轉成object類型調用裏面的值函數
通常狀況下用JSON.parse(json);來將字符串轉換爲對象的json;spa
var data=JSON.parse(json);
可是因爲出現了特殊字符\n 並無轉換成功code
alert(typeof data);
並無返回object對象
接下來咱們須要編寫一個函數將json字符串裏的特殊字符去掉而後再將去掉後的json字符串轉爲對象類型blog
function json_obj(str){ var pattern= new RegExp("[\n]") ; //建立一個包含\n的正則對象 var result=""; //定義一個空字符 for(var i=0;i<str.length;i++){ result=result+str.substr(i,1).replace(pattern,'');//逐字檢索 發現\n就換爲空; } return result; //返回轉換完成的新json字符串 }
將轉換後的json字符串轉換爲對象類型字符串
var data=json_obj(json); alert(typeof data); //object
檢查json看是哪一種特殊字符致使的錯誤 而後正則表達式設置哪一種字符;string