我正在尝试处理 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.titleitem["title"],两者都是访问对象属性的正确方法。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!