您的位置:首页 > Web前端 > JQuery

JQuery 解析多维的Json数据格式

2017-09-01 16:27 495 查看
Json格式其实和表格式有异曲同工之妙,在网络传输中,它比XML还省流量,而且与JS有更好的融合,更容易被解析。Json格式样例如下: 

代码如下:

{"Products":[ 

{"orderid":"11077","customerid":"RATTC"}, 

{"orderid":"11078","customerid":"RATT"} 

], 

"Img":[{"id":"12345","url" 

:"image/1.jpg"} 

]} 

其中Products和Img我们可以认为是一张表的表名。在Products表中,orderid和customerid都是Products的字段,11077与RATTC可以理解为对应字段的值。Img部分也是一样。所以,上面Products存在两笔记录,而Img存在一笔记录而已。 
那么我们怎么样在JQuery里面进行解析出相应的表,栏位和值呢? 
在JQuery里面我们可以用: 
var Products= Json.Products; 
来获得对Products表的筛选。接下来我们就对Products进行循环读取值: 

 代码如下:

$.each(Products, function(i, n) { 

str += "<p id='xuhao'>" + n.orderid+ "ID" + n.customerid + "</p>"; 

}); 

$.each(Products, function(i, n) {} 这里的Products就是我们的目标Json数据中的表了了。i代表记录的顺序,从0开始(0代表第一笔,1代表第二笔...),而n就代表对应字段的值了。
对Img的读取也是类似~~ 
如有不当之处请指正,谢谢!! 

-----------------------------------------------------------------------------------------------------------------------------------


jQuery中读取json文件示例代码

json文件是一种轻量级的数据交互格式。一般在jquery中使用getJSON()方法读取。 
代码如下:

$.getJSON(url,[data],[callback]) 

url:加载的页面地址 

data: 可选项,发送到服务器的数据,格式是key/value 

callback:可选项,加载成功后执行的回调函数 

1.首先建一个JSON格式的文件userinfo.json 保存用户信息。如下: 
代码如下:





"name":"张国立", 

"sex":"男", 

"email":"zhangguoli@123.com" 

}, 



"name":"张铁林", 

"sex":"男", 

"e
4000
mail":"zhangtieli@123.com" 

}, 



"name":"邓婕", 

"sex":"女", 

"email":"zhenjie@123.com" 





2.其次建一个页面用于获取JSON文件里的用户信息数据,并显示 
代码如下:

<!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> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<title>getJSON获取数据</title> 

<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script> 

<style type="text/css"> 

#divframe{ border:1px solid #999; width:500px; margin:0 auto;} 

.loadTitle{ background:#CCC; height:30px;} 

</style> 

<script type="text/javascript"> 

$(function(){ 

$("#btn").click(function(){ 

$.getJSON("js/userinfo.json",function(data){ 

var $jsontip = $("#jsonTip"); 

var strHtml = "123";//存储数据的变量 

$jsontip.empty();//清空内容 

$.each(data,function(infoIndex,info){ 

strHtml += "姓名:"+info["name"]+"<br>"; 

strHtml += "性别:"+info["sex"]+"<br>"; 

strHtml += "邮箱:"+info["email"]+"<br>"; 

strHtml += "<hr>" 

}) 

$jsontip.html(strHtml);//显示处理后的数据 

}) 

}) 

}) 

</script> 

</head> 

<body> 

<div id="divframe"> 

<div class="loadTitle"> 

<input type="button" value="获取数据" id="btn"/> 

</div> 

<div id="jsonTip"> 

</div> 

</div> 

</body> 

</html> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery json 数据