js 中读取JSON的方法探讨
js读取JSON的方法我接触到的有两种:
方法一:函数构造定义法返回
var strJSON = "{name:'json name'}"//得到的JSON
var obj = new Function("return" + strJSON)()//转换后的JSON对象
alert(obj.name)//json name
方法二:js中著名的eval函数
var strJSON = "{name:'json name'}"//得到的JSON
var obj = eval( "(" + strJSON + ")" )//转换后的JSON对象
alert(obj.name)//json name
第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则
var strJSON = "{name:'json name'}"
var obj = eval(strJSON)
alert(obj.constructor)//String 构造函数
alert(obj.name)//undefine
必须把对象表达式扩起来eval执行才能生成一个匿名对象!
<html><head>
<script type="text/javascript">
var jsonData = {
"1":{"title":"jq","tid":"1404912143"},
"2":{"title":"js\u5e38\u7528\u51fd\u6570","tid":"1403725576"},
"3":{"title":"css\u5e38\u7528\u5c5e\u6027","tid":"1403725440"},
"4":{"title":"2014 0825\u5206\u6790","tid":"1393840140"},
"5":{"title":"\u5fc3\u8df3\u5305\u7684\u5e8f\u53f7","tid":"1393773595"},
"6":{"title":"0826\u7684\u9a8c\u8bc1\u7801\u95ee\u9898","tid":"1393773355"},
"7":{"title":"QQ\u5ba2\u6237\u7aef\u7248\u672c\u53f7\u5927\u5168","tid":"1393773048"},
}
for(obj in jsonData){
console.log(obj,jsonData[obj].title) // 输出到控制台
document.write(obj+' : '+jsonData[obj].title+'<br>') // 输出到页面
}
</script>
</head>
<body>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)