一、jQuery解析Json資料格式:
使用這種方法,你必須在Ajax請求中設定參數:
1 dataType: "json"
擷取通過回呼函數返回的資料並解析得到我們想要的值,看源碼:
| 代碼如下 |
複製代碼 |
|
jQuery.ajax({
url: full_url,
dataType: "json",
success: function(results) {
alert(result.name);
} }); |
通常情況下,你可以從後台返回JSON資料,前台就交給jQuery啦,哈哈!!
jquery非同步請求將type(一般為這個配置屬性)設為“json”,或者利用$.getJSON()方法獲得伺服器返回,那麼就不
需要eval()方法了,因為這時候得到的結果已經是json對象了,只需直接調用該對象即可,這裡以$.getJSON方法為
例說
例1
代碼如下:
| 代碼如下 |
複製代碼 |
var data="
{
root:
[
{name:'1',value:'0'},
{name:'6101',value:'北京市'},
{name:'6102',value:'天津市'},
{name:'6103',value:'上海市'},
{name:'6104',value:'重慶市'},
{name:'6105',value:'渭南市'},
{name:'6106',value:'延安市'},
{name:'6107',value:'漢中市'},
{name:'6108',value:'榆林市'},
{name:'6109',value:'安康市'},
{name:'6110',value:'商雒市'}
]
}"; |
jquery
| 代碼如下 |
複製代碼 |
|
$.getJSON("http://sanic.cnblogs.com/",{param:"sanic"},function(data){
//此處返回的data已經是json對象
//以下其他動作同第一種情況
$.each(data.root,function(idx,item){
if(idx==0){
return true;//同countinue,返回false同break
}
alert("name:"+item.name+",value:"+item.value);
});
});
|
二、jQuery解析Json對象:
jQuery提供了另一種方法“parseJSON”,這需要一個標準的JSON字串,並返回產生的JavaScript對象。讓我們來看
看文法:
data = $.parseJSON(string);
看看它是如何運用的到實際開發中的:
| 代碼如下 |
複製代碼 |
|
jQuery.ajax({
url: dataURL, success: function(results) {
var parsedJson = jQuery.parseJSON(results);
alert(parsedJson.name);
}
}); |