Json 如何读取数据 初学 请指教.. alert(result.bc[0].ID); 读不出来数据 提示错误如下: 'bc.0.ID' 为空或不是对象 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很长,很暴力,递归读取:<script>var resultJSON = { "channel":{ "title":"news&\"<welcome>", "image":{ "title":"news1", "link":"http://news.sina.com.cn", "url":"http://www.sinaimg.cn/dy/sina_news626.gif" }, "description":"description", "link":"http://news.sina.com.cn/news1000/index.shtml", "language":"zh-cn", "generator":"WWW.SINA.COM.CN", "ttl":"5", "copyright":"Copyright 1996 - 2009 SINA Inc. All Rights Reserved", "pubDate":"Tue, 10 Feb 2009 06:20:02 GMT", "category":"", "item":[ { "title":"title1(02/10 14:14)", "link":"http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/p/2009-02-10/141417185252.shtml", "author":"WWW.SINA.COM.CN", "guid":"http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/p/2009-02-10/141417185252.shtml", "category":"", "pubDate":"", "comments":"Tue, 10 Feb 2009 06:14:31 GMT", "description":"description1...." }, { "title":"title2(02/10 14:13)", "link":"http://go.rss.sina.com.cn/redirect.php?url=http://finance.sina.com.cn/stock/stockaritcle/20090210/14135837973.shtml", "author":"WWW.SINA.COM.CN", "guid":"http://go.rss.sina.com.cn/redirect.php?url=http://finance.sina.com.cn/stock/stockaritcle/20090210/14135837973.shtml", "category":"", "pubDate":"", "comments":"Tue, 10 Feb 2009 06:13:17 GMT", "description":"description2...." } ] }};function iterateJson(json){ for(var tag in json) { if(json[tag].constructor==Object||json[tag].constructor==Array) { iterateJson(json[tag]); }else if(json[tag].constructor==String) { document.write(tag+":"+json[tag]+"<br/>"); } } }iterateJson(resultJSON);</script> var rs=[{"id":1,"provinceID":"110000","province":"北京市"},{"id":2,"provinceID":"120000","province":"天津市"}];alert(rs[0].id); http://www.docolo.cn/MvcVshow.rar下载地址 var provinces = [{ "id": 1, "provinceID": "110000", "province": "北京市" }, { "id": 2, "provinceID": "120000", "province": "天津市" }, { "id": 3, "provinceID": "130000", "province": "河北省" }, { "id": 4, "provinceID": "140000", "province": "山西省" }, { "id": 5, "provinceID": "150000", "province": "内蒙古自治区" }, { "id": 6, "provinceID": "210000", "province": "辽宁省" }, { "id": 7, "provinceID": "220000", "province": "吉林省" }, { "id": 8, "provinceID": "230000", "province": "黑龙江省" }, { "id": 9, "provinceID": "310000", "province": "上海市" }, { "id": 10, "provinceID": "320000", "province": "江苏省" }, { "id": 11, "provinceID": "330000", "province": "浙江省" }, { "id": 12, "provinceID": "340000", "province": "安徽省" }, { "id": 13, "provinceID": "350000", "province": "福建省" }, { "id": 14, "provinceID": "360000", "province": "江西省" }, { "id": 15, "provinceID": "370000", "province": "山东省" }, { "id": 16, "provinceID": "410000", "province": "河南省" }, { "id": 17, "provinceID": "420000", "province": "湖北省" }, { "id": 18, "provinceID": "430000", "province": "湖南省" }, { "id": 19, "provinceID": "440000", "province": "广东省" }, { "id": 20, "provinceID": "450000", "province": "广西壮族自治区" }, { "id": 21, "provinceID": "460000", "province": "海南省" }, { "id": 22, "provinceID": "500000", "province": "重庆市" }, { "id": 23, "provinceID": "510000", "province": "四川省" }, { "id": 24, "provinceID": "520000", "province": "贵州省" }, { "id": 25, "provinceID": "530000", "province": "云南省" }, { "id": 26, "provinceID": "540000", "province": "西藏自治区" }, { "id": 27, "provinceID": "610000", "province": "陕西省" }, { "id": 28, "provinceID": "620000", "province": "甘肃省" }, { "id": 29, "provinceID": "630000", "province": "青海省" }, { "id": 30, "provinceID": "640000", "province": "宁夏回族自治区" }, { "id": 31, "provinceID": "650000", "province": "新疆维吾尔自治区" }, { "id": 32, "provinceID": "710000", "province": "台湾省" }, { "id": 33, "provinceID": "810000", "province": "香港特别行政区" }, { "id": 34, "provinceID": "820000", "province": "澳门特别行政区"}];首先要搞清楚,这个provinces变量不是json对象,而是数组,数组项保存的才是json对象所以要读取数据就得先用数组的方式,再用json的方式比如要读取北京市:provinces[0].province读取天津市: provinces[1].province读取全部就得for遍历所有的数组项 封装js里面怎样更好的去定义变量的问题 jquery jqgrid 我在numberfield中监听了blur事件 如何退出这样的循环体? 请教js解析xml问题 在frame上如何实现遮罩效果? 请问怎么通过js脚本语言对表格内容进行筛选?象excel表格那样 正则表达式。的菜鸡问题· 请问怎么按名称空间遍历 100分求助! 哪里有javascript经典的教程? 调用js文件时,怎么老提示 未定义? 求2段 js代码
var resultJSON = {
"channel":{
"title":"news&\"<welcome>",
"image":{
"title":"news1",
"link":"http://news.sina.com.cn",
"url":"http://www.sinaimg.cn/dy/sina_news626.gif"
},
"description":"description",
"link":"http://news.sina.com.cn/news1000/index.shtml",
"language":"zh-cn",
"generator":"WWW.SINA.COM.CN",
"ttl":"5",
"copyright":"Copyright 1996 - 2009 SINA Inc. All Rights Reserved",
"pubDate":"Tue, 10 Feb 2009 06:20:02 GMT",
"category":"",
"item":[
{
"title":"title1(02/10 14:14)",
"link":"http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/p/2009-02-10/141417185252.shtml",
"author":"WWW.SINA.COM.CN",
"guid":"http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/p/2009-02-10/141417185252.shtml",
"category":"",
"pubDate":"",
"comments":"Tue, 10 Feb 2009 06:14:31 GMT",
"description":"description1...."
},
{
"title":"title2(02/10 14:13)",
"link":"http://go.rss.sina.com.cn/redirect.php?url=http://finance.sina.com.cn/stock/stockaritcle/20090210/14135837973.shtml",
"author":"WWW.SINA.COM.CN",
"guid":"http://go.rss.sina.com.cn/redirect.php?url=http://finance.sina.com.cn/stock/stockaritcle/20090210/14135837973.shtml",
"category":"",
"pubDate":"",
"comments":"Tue, 10 Feb 2009 06:13:17 GMT",
"description":"description2...."
}
]
}
};
function iterateJson(json)
{
for(var tag in json)
{
if(json[tag].constructor==Object||json[tag].constructor==Array)
{
iterateJson(json[tag]);
}else if(json[tag].constructor==String)
{
document.write(tag+":"+json[tag]+"<br/>");
}
}
}iterateJson(resultJSON);
</script>
{"id":1,"provinceID":"110000","province":"北京市"},{"id":2,"provinceID":"120000","province":"天津市"}
];alert(rs[0].id);
下载地址
首先要搞清楚,这个provinces变量不是json对象,而是数组,数组项保存的才是json对象
所以要读取数据就得先用数组的方式,再用json的方式
比如要读取北京市:provinces[0].province
读取天津市: provinces[1].province
读取全部就得for遍历所有的数组项