准备工作:
首先,我们新建个网站(.net2.0就行).
1.在我们的项目中jquery的js文件。
2.新建一个htm文件,命名为dome.htm吧。
代码如下:(head区的js代码就是实现的全部代码,有详细注释)
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>jquery获取json数据演示页面</title>
<script type=”text/javascript” src=”js/jquery-1.2.1.pack.js”></script>
<script type=”text/javascript”>
function getData(){
$(“#list“).html(“”);//清空列表中的数据
//发送ajax请求
$.getJSON(
“jsondata.ashx“,//产生JSON数据的服务端页面
{name:“test“,age:20},//向服务器发出的查询字符串(此参数可选)
//对返回的JSON数据进行处理,本例以列表的形式呈现
function(json){
//循环取json中的数据,并呈现在列表中
$.each(json,function(i){
$(“#list“).append(“<li>name:“+json[i].name+“ Age:“+json[i].age+“</li>“)
})
})
}
</script>
</head>
<body>
<input id=”Button1″ type=”button” value=”获取数据” onclick=”getData()”/>
<ul id=”list”></ul>
</body>
</html>
3.我们再建一个一般应用程序(jsonData.ashx)
代码如下:
<%@ WebHandler Language=“C#“ Class=“jsonData“%>
using System;
using System.Web;
publicclass jsonData : IHttpHandler {
publicvoid ProcessRequest (HttpContext context) {
context.Response.ContentType =“text/plain“;
string data =“[{name:\"ants\",age:24},{name:\"lele\",age:23}]“;//构建的json数据
//下面两句是用来测试前台向此页面发出的查询字符
string querystrname = context.Request.QueryString.GetValues(“name“)[0];//取查询字符串中namer的值
string querystage = context.Request.QueryString.GetValues(“age“)[0];//取查询字符串中age的值
context.Response.Write(data);
}
publicbool IsReusable {
get{
returnfalse;
}
}
}
对以上的内容我只说一点,那就是前台页面中的$.getJSON方法
$.getJSON(url, params, callback)
用一个HTTP GET请求一个JavaScript JSON数据
返回值:XMLHttpRequest
参数:
url (String): 装入页面的URL地址。
params (Map): (可选)发送到服务端的键/值对参数。
callback (Function): (可选) 当数据装入完成时执行的函数.
JSON官方网站提供的一个开源的JSON解析器和字符串转换器:json.js
string.parseJSON() 解析函数,它将JSON文本解析成object或者array,可以抛出一个语法错误的异常;
array.toJSONString(),
boolean.toJSONString() ,
date.toJSONString(),
number.toJSONString(),
object.toJSONString(),
string.toJSONString(): 这几个函数可以生成JSON文本
下面写一个简单的解析和转换的例子:
var str=‘["0","1"]‘; var obj = str.parseJSON(); document.write(obj[0]); document.write(obj[1]);
结果是01
var doc =new Array(); doc[0]=‘0‘; doc[1]=‘1‘; document.write(doc.toJSONString())
结果是[“0″,”1”]
Json.txt
{
“user”:”cck”,
“sex”:”name”
}