在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 +
;
})
$(#dishows).html(tt);
});
});
(二)ashx文件,但返回的是实体集合
复制代码 代码如下:
customer customer = new customer
{ unid=1,customername=宋江,memo=天魁星,other=黑三郎};
customer customer2 = new customer
{ unid = 2, customername = 吴用, memo = 天机星, other = 智多星 };
list _list = new list();
_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 +
;
});
});
$(#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文件
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 +
;
})
$(#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 +
;
})
$(#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 +
;
});
});
$(#divmessage).html(tt);
});
}
/201101/tools/newtonsoft.json.net20.rar
