jQuery中用each方法遍历json对象

json字符串与对象的相互转换

如果声明的是一个字符串,不能直接遍历,需要先将其转换为对象才能遍历

1. eval()

var obj='{"name":"bill","age":"18","home":"河北"}'
console.log("转化前:" + typeof(obj))	//string 
var obj=eval('(' + obj + ')');			//object
console.log("转化后:" + typeof(obj));

2. JSON.parse()

var obj='{"name":"bill","age":"18","home":"河北"}'
var obj=JSON.parse(obj);

3.$.parseJSON(obj)

var obj='{"name":"bill","age":"18","home":"河北"}'
var obj=$.parseJSON(obj);

4. JSON.stringify将对象转换成字符串

var json={
	"name":"bill",
	"age":28
}
var str = JSON.stringify(json);
console.log(typeof(str))	//string

读取内部json数据并渲染到表格

. $.each(obj,function( index,value){})

  • 第一个参数是当前要遍历的对象
  • 第二个参数是当前遍历元素的索引
  • 第三个参数是当前遍历的DOM元素
//声明一个对象
var obj = {
	"标题": "搜狐视频",
	"网址": "https://tv.sohu.com/",
	"类别":{
		"综艺":"小品、相声、真人秀",
		"电影":"动作、爱情、喜剧、恐怖",
		"时事":"国内、国际、时事、政治"
},
	"访问人数":"300000000"
};

在这里插入图片描述
代码如下:

var $tab=$("<table border='1' cellpadding='0' cellspacing='0' align='center' width='600'></table>");
				$("body").append($tab)
				$.each(obj,function(key,value){
					var $tr=$("<tr align='center'>" + "<td>" + key + "</td>" + "</tr>");
					if(key=="类别"){
						var $td=$("<td></td>")
						var $tdtab = $("<table border='1' cellpadding='0' cellspacing='0' width='100%'></table>");
						$.each(obj["类别"],function(k,v){
							var $tr2 = $("<tr align='center'>" + "<td>" + k + "</td>" + "<td>" + v + "</td>" +  "</tr>");
							$tdtab.append($tr2)
						})
						$td.append($tdtab)
					}else{
						var $td=$("<td>" + value + "</td>");
					}
					$tr.append($td)
					$tab.append($tr);
				})
			})

读取外部数json数据

$.getJSON("test.json",function(data){
		.......
})
  • 第一个参数表示json数据的路径
  • 第二个参数表示请求成功之后要执行的函数
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值