下面是一个多级嵌套的JSON,使用AJAX方式,应用递归把每一级JSON,都添加 到相应的DOM中。
{
"name": "BeJson",
"url": "http://www.bejsoxxn.com",
"page": 88,
"isNonProfit": true,
"address": {
"street": "科技园路.",
"city": "江苏苏州",
"country": "中国"
},
"links": [
{
"name": "Google",
"url": "http://www.google.com"
},
{
"name": "Baidu",
"url": "http://www.baidu.com"
}
]
}
for(var i in data){
var ul = document.createElement("ul");
var li = document.createElement('li');
li.innerHTML=data[i];
ul.appendChild(li);
document.body.appendChild(ul);
}
以下是浏览器显示的信息
BeJson
http://www.bejsoxxn.com
88
true
[object Object]
[object Object],[object Object]
我想让 浏览器页面倒数一二 显示json里的信息。请问怎么做?
别人让我写遍历一次。
我不知道怎么写出来
Boolean.prototype.show = Number.prototype.show = String.prototype.show = function () {
return this.toString()
}
Object.prototype.show = function(tag) {
var open="<ul>",close="</ul>";
var k,str = "";
for(k in this){
if(this.hasOwnProperty(k)){
str += "<li>" + k + ":" + this[k].show() + "</li>";
}
}
return open + str + close;
}
// 这句可以不加,如果 Array 和 Object 显示一样的话
// Array.prototype.show = Object.prototype.show
var data = {
"name": "BeJson",
"url": "http://www.bejsoxxn.com",
"page": 88,
"isNonProfit": true,
"address": {
"street": "科技园路.",
"city": "江苏苏州",
"country": "中国"
},
"links": [
{
"name": "Google",
"url": "http://www.google.com"
},
{
"name": "Baidu",
"url": "http://www.baidu.com"
}
]
}
// 某个标签
document.body.innerHTML = data.show()
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。