特殊json處理

但是有幾條數據一直出不來,檢查發現json裏包含了換行符,形成這種狀況的緣由多是編輯部門在編輯的時候打的回車形成的正則表達式

假設有這樣一段json格式的字符串json

按 Ctrl+C 複製代碼
按 Ctrl+C 複製代碼

 

假如上面這段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

相關文章
相關標籤/搜索