jquery解析json格式数据的方法(对象、字符串)

jquery解析json格式数据的方法(对象、字符串)

本文实例讲述了jquery解析json格式数据的方法。分享给大家供大家参考,具体如下:

json数据是我们常用的一种小型的数据实时交换的一个东西,他可以利用jquery或js进行解析,下面我来介绍jquery解析json字符串方法。

一、jQuery解析Json数据格式:

使用这种方法,你必须在Ajax请求中设置参数:

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://www.gimoo.net/”,{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);
}
});

补充:

jquery解析json数据完整实例:

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:商洛市}
]
}”;
//data为字符串类型 则要将字符串类型转换成json数据类型
var jsondatas=eval(“(” data “)”);
$.each(jsondatas.root,function(i,n){
alert(“name” n.name “value” n.value);
}
)
//以下为数组类型字符串 转换成json 字符串 解析
//数组形式的json字符串
var jsondata=”[{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:商洛市}]”;
var json=eval(jsondata);
$.each(json,function(i,n){
alert(json[i].name);
alert(json[i].value);//根据索引取值
});
//json数据字符 不需要转换
var json={“Products”:[
{“orderid”:”11077″,”customerid”:”RATTC”},
{“orderid”:”11078″,”customerid”:”RATT”}
],
“Img”:[{“id”:”12345″,”url”
:”image/1.jpg”}
]};
$.each(json.Products,function(i,n){
alert(n.orderid);
})

一般处理文件(Handler.ashx)

if (context.Request.QueryString[“method”] != null)
{
string method = context.Request.QueryString[“method”].ToString();
if (method == “getlist”)
{
string str = ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString;
SqlConnection conn = new SqlConnection(str);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = “select ProID,ProName,url from Project where Adress = 哈尔滨”;
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
string sb = CreateJsonParameters(ds.Tables[0]);
context.Response.ClearContent();
context.Response.Write(sb.ToString());
context.Response.End();
}
}
}
///

© 版权声明

相关文章

暂无评论

none
暂无评论...