我正在尝试处理 rss 提要的 json 版本,但我需要访问标记为“data.channel.item”的数组。我怀疑是因为这个名称似乎与 javascript 中的保留字项冲突,所以该脚本仅适用于这个特定的 json 文件。它在其他情况下确实有效。
有没有办法使用“项目”但以某种方式逃避它? (是的,我是一个 javascript 新手)
这是脚本(jquery)
<script>
$(document).ready(function(){
$.getJSON("http://example.com/jsonBuzz.php?callback=?",
function(data){
$.each(data.channel.item, function(i,item){
$("#results").append('<li><h1>'+item.title+'</h1></li>');
});
});
});
</script>
json 的简化版本:
{"@attributes":{"version":"2.0"},"channel":{"lastBuildDate":"Mon, 11 Jan 2010... ..."generator":"Blogger","item":[{"guid":"tag:blogger.com,...
请您参考如下方法:
将键放在双引号中将允许您使用保留字——事实上,它必须是有效的 JSON(请参阅 http://json.org/)。但是,这并不是真正的问题,因为“item”不是 JavaScript 中的保留字(参见 https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Reserved_Words 作为一种可能的引用)。
您得到的是 item:title
,而不是 item.title
或 item["title"]
,两者都是访问对象属性的正确方法。