一、先要區分JSON字符串和JSON對象php
JSON字符串:html
Var strJSON = 「{「Area」:[{「AreaId」:」123」},{「AreaId」:」345」}]}」, 或者jquery
Var strJSON = ‘{「Area」:[{「AreaId」:」123」},{「AreaId」:」345」}]}’,ajax
這表示一個JSON字符串,因爲在Js中單引號和雙引號均可以表示一個字符串,因此上面第一個使用雙引號和第二個使用單引號的都表示一個JSON字符串。json
JSON對象:post
Var JSON = {「Area」:[{「AreaId」:」123」},{「AreaId」:」345」}]},url
JSON對象最外面是沒有單引號或者雙引號的,這就表示一個JSON對象spa
2.jquery腳本:(返回到js後的處理)htm
第一種要用到varl轉化的:是字符串的時候就要用eval轉化成jquery對象:對象
var arr = '{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}}';//u71d5u5b50這個是php中自動轉換的
var dataObj = eval("("+arr+")");
$.each(dataObj,function(idx,item){
//輸出
alert(item.id+"哈哈"+item.name);
})
第二種:不須要轉化的:
var arr = {"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}};
$.each(arr,function(idx,item){
//輸出
alert(item.id+"哈哈"+item.name);
})
循環也有兩種方法:
//方法一:
$.each(arr,function(idx,item){
//輸出
alert(item.id+"哈哈"+item.name);
})
//方法二:
for(var key in arr){
alert(key);
alert(arr[key].status);
}
ajax返回JSON時的處理方式
1,使用普通的aspx頁面來處理
前臺:
$.ajax({
type: "post",
url: "Default.aspx",
dataType: "json",
success: function (data) {
$("input#showTime").val(data[0].demoData);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
後臺:
Response.Clear();
Response.Write("[{"demoData":"This Is The JSON Data"}]");
Response.Flush();
Response.End();
這種處理的方式將傳遞過來的數據直接解析爲json數據,也就是說這裏的前臺js代碼可能直接把這些數據解析成json對象數據,而並不是字符串數據,如data[0].demoData,這裏就直接使用了這個json對象數據
轉載:http://www.php100.com/html/program/jquery/2013/0905/5912.html