使用JQuery解析此JSON文件

时间:2009-11-03 16:51:21

标签: jquery json

这是我在浏览BBCs API网站时发现的JSON

http://cdnedge.bbc.co.uk/nol/ukfs_news/hi/front_page/ticker.json

我想将这些条目转换为

形式的有序列表
<div id="news">
    <ul>
    <li><a href="'http://news.bbc.co.uk'+ entries.url +"><span class="+isBreaking+" entries.headline</span></a></li>
    <li>...repeat for each entry</li>
    </ul> </div>

我已经阅读了很多教程,但我无法弄清楚我的变量在哪些内容中匹配,如果有人会如此善意地指出我的失败,那将是很好的。

这是我的下面的脚本,是的,我在上面附上了jquery-1.3.2.min.js:D

这个版本不包括我想要的Anchor / SPAN,但它们并不重要,因为它是我在工作经历时正在进行的数字标牌项目。

<script>
    $(document).ready( function() {

        var url = "http://cdnedge.bbc.co.uk/nol/ukfs_news/hi/front_page/ticker.json?count=3&callback=?";
        $.getJSON(url, function(entries){
            $.each(entries, function(i, item) {
                $("#news ul").append("<li>" + item.headline + "</li>");
            });
        });
    });

</script>

干杯

2 个答案:

答案 0 :(得分:1)

问题是您在条目上方有一个根级别元素。通过将返回调用设置为函数(条目),您意味着JSON仅返回entries参数,这不是真的。您可以通过修改传递给回调函数的参数并从那里访问实体集合来解决此问题,如下所示:

<script>
    $(document).ready( function() {

        var url = "http://cdnedge.bbc.co.uk/nol/ukfs_news/hi/front_page/ticker.json?count=3&callback=?";
        $.getJSON(url, function(data){
               $.each(data.entries, function(i, item) {
                       $("#news ul").append("<li>" + item.headline + "</li>");
                });
        });
    });

</script>

答案 1 :(得分:1)

<script>
    $(document)
            .ready(
                    function() {
                        var url = "ticker.json";
                        $.getJSON(url, function(object) {
                            $.each(object.entries, function(i, item) {
                                $("#news").append(
                                        "<li>" + item.headline + "</li>");
                            });
                        });
                    });
</script>