jquery读取json参数的方法:1、使用jQuery解析Json数据格式,在Ajax请求中设置参数【dataType: "json"】;2、使用jQuery解析Json对象,代码为【data = $.parseJSON string】。

本教程操作环境:windows7系统、jquery3.2.1版本,Dell G3电脑。
推荐:jquery视频教程
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
代码如下:
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30
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("https://www.jb51.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();
}
}
}
/// <summary>
/// 构建JSON字符串
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public string CreateJsonParameters(DataTable dt)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
sb.Append("[");
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
//如果值不是最后一个则添加逗号分隔
if (j < dt.Columns.Count - 1)
{
sb.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + "/"" + dt.Rows[i][j].ToString() + "/",");
}
//如果值为最后个字符则不添加逗号
else if (j == dt.Columns.Count - 1)
{
sb.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + "/"" + dt.Rows[i][j].ToString() + "/"");
}
}
//如果为最后一个值的话 则不添加逗号
if (i == dt.Rows.Count - 1)
{
sb.Append("}");
}
else
{
sb.Append("},");
}
}
sb.Append("]");
return sb.ToString();
}
else { return null; }
}$.ajax
(
{
type: "POST",
url: "Handler.ashx?method=getlist",
async: false,//true表示异步 false表示同步
contentType: "application/json",
dataType: 'json',
success: function(result) {
var temp=eval(result);
//通过javascript来解析返回数组字符串
for (var i = 0; i < temp.length; i++)
{
o.innerHTML += "项目名称:" + result[i].ProName + "<br/>网址:<a href=" + result[i].url + " mce_href=" + result[i].url + " target='_blank'>" + result[i].url + "</a><br/>";
datas += "项目名称:" + result[i].ProName + "<br/>网址:<a href=" + result[i].url + " mce_href=" + result[i].url + " target='_blank'>" + result[i].url + "</a><br/>";
}
TINY.box.show(datas, 0, 0, 0, 1);
}
});相关免费学习推荐:javascript(视频)
以上就是jquery如何读取json参数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号