Ajax中responseText解析json格式數據


Ajax中responseText的json格式數據

  向瀏覽器發送數據請求,返回的responseText是json數據格式,如果要使用其中的數據,需要進行解析。下面是兩種解析方法:

方法一:

  xhr = new XMLHttpRequest()  // 創建XMLHttpRequest對象

  var  data = xhr.responseText;   // 獲取響應數據

  var json=JSON.parse(data);  // 使用JSON.parse()進行解析:使用JSON對象的靜態方法parse(),將字符串解析為對象。

 

方法二: 

  xhr = new XMLHttpRequest()  // 創建XMLHttpRequest對象

  var  data = xhr.responseText;   // 獲取響應數據

  var jsonObject=eval("("+result+")"); // 使用eval() 進行解析,其中"(" + result+ ")"的兩個括號是一定要寫的,意思是將其中的relult轉換成表達式。但是eval() 存在安全隱患。

 

  相關知識點:表達式還是語句?

  如果在行首是一個大括號,那么它到底是表達式還是語句呢?遇到這種情況,JavaScript引擎一律解釋為代碼塊,但是如果非要解析成對象,該怎么辦呢?那就在使用括號將其包裹起來,這種情況在eval() 語句中表現的最明顯了

eval('{foo:123}') // 解析成代碼塊——表示一個代碼塊中有一個foo標簽,指向一個表達式123
eval('({foo:123})') // 解析為一個對象——表示一個對象,其中屬性foo,指向了123

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM