在原生ajax中解析json格式的數(shù)據(jù)我們需要用到JSON.parse() 方法
JSON.parse(xhr.responseText)
使用 eval 方法
var jsonDate = '{ "name":"周星馳","age":23 }'
var jsonObj = eval( '(' + jsonDate + ')' );
eval方法和JSON.parse方法有一些區(qū)別
var jsonDate = '{ "name":alert("111"),"age":2 }'
var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法
? ? ? console.log( jsonObj.age ); //會先執(zhí)行“alert”輸出“hello” 然后才輸出 23
總結(jié):“eval();”方法解析的時候不會去判斷字符串是否合法灯变,而且json對象中的js方法也會被執(zhí)行捅膘,這是非常危險的; 而“JSON.parse();”方法的優(yōu)點就不用多說了寻仗,推薦此方法。
在jquery中我們可以直接定義返回值的類型(dataType)的值為json 這樣他會自己把得到的數(shù)據(jù)解釋成json數(shù)據(jù)
$.ajax({
?????url:"",
????dataType:"json"
});