添加引用Dll檔案就可以使用了,很方便的。 /201101/tools/Newtonsoft.Json.Net20.rar
在jquery庫中,getJSON其實是調用的:Query.get(url, data, callback, "json")
其中參數也是以k/v對格式發出。請求返回的可以看到:在服務端以Customer列表集合返回
現在來看一下事列:
件一個Common類
複製代碼 代碼如下:
public class Customer
{
public int Unid { get; set; }
public string CustomerName { get; set; }
public string Memo { get; set; }
public string Other { get; set; }
}
在一般處理檔案(ashx)中寫一個如下方法
複製代碼 代碼如下:
Customer customer = new Customer
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);
context.Response.Write(strJson);
}
在前台Jquery中載入調用ashx代碼
通過getJSON向ashx請求資料。返回的資料為JSON對象
複製代碼 代碼如下:
$().ready(function() {
$.getJSON("JqueryData2.ashx", function(data) {
alert(data.Memo);
});
$.getJSON("JqueryData2.ashx", function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#disHows").html(tt);
});
});
(二)ashx檔案,但返回的是實體集合
複製代碼 代碼如下:
Customer customer = new Customer
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
Customer customer2 = new Customer
{ Unid = 2, CustomerName = "吳用", Memo = "天機星", Other = "智多星" };
List<Customer> _list = new List<Customer>();
_list.Add(customer);
_list.Add(customer2);
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list);
context.Response.Write(strJson);
}
function GetCustomerList() {
$.getJSON(
"JqueryData2.ashx",
function(data) {
var tt = "";
$.each(data, function(k, v) {
$.each(v,function(kk, vv) {
tt += kk + ":" + vv + "<br/>";
});
});
$("#divmessage").html(tt);
});
}
[code]
(三)請求aspx檔案中的CS
[code]
protected void Page_Load(object sender, EventArgs e)
{
Customer customer = new Customer
{ Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" };
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);
Response.Write(strJson);
}
·Aspx檔案
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Json_1.aspx.cs"
Inherits="webdata_Json_1" %>
主意:前台檔案只保留Page聲明,其它全部刪除
Jquery代碼
複製代碼 代碼如下:
function GetCustomer_Aspx() {
$.getJSON(
"webdata/Json_1.aspx",
function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#divmessage").html(tt);
});
}
(四)請求文字檔
文字檔提供json字串,由$.getJSON得到json對象
·文字檔
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}
文字檔提供json串,對於json的組成格式,對於這一實體json,會被忽略空行與空格
複製代碼 代碼如下:
function GetCustomer_txt() {
$.getJSON(
"webdata/Json_1.txt",
function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#divmessage").html(tt);
});
}
解析的方法與ashx的解析相同
在Txt檔案中對於多行的格式如下:
常值內容:
[
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"},
{Unid:2,CustomerName:"吳用",Memo:"天機星",Other:"智多星"}
]
複製代碼 代碼如下:
function GetCustomer_TxtList() {
$.getJSON(
"webdata/Json_1.txt",
function(data) {
var tt = "";
$.each(data, function(k, v) {
$.each(v, function(kk, vv) {
tt += kk + ":" + vv + "<br/>";
});
});
$("#divmessage").html(tt);
});
}
/201101/tools/Newtonsoft.Json.Net20.rar