JQuery 解析多维的Json数据格式

来源:互联网 发布:淘宝 答案宠物店 假粮 编辑:程序博客网 时间:2024/06/06 03:08
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":"男", 
"email":"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> 
原创粉丝点击