JSON数据和操作内容

时间:2012-12-11 10:11:54

标签: javascript json jsonp

我正在尝试将此JSON网址中的数据写入li。

JSON链接为https://www.inquicker.com/facility/americas-family-doctors.json

    <!DOCTYPE html>
    <html>
    <head>
    <title>JQuery (cross-domain) JSONP</title>
    <script  type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">    </script>
    <script>
$(document).ready(function(){
    $.getJSON('https://www.inquicker.com/facility/americas-family-doctors.json', 
        function(data){ 
        alert(data.facility);
        $.each(data.schedules, function(i, name){
            $('#names').append('<li>' + name.available_times[0] + '</li>');
        });
    });
});
    </script>
    </head>
    <body>
    <ul id="names"></ul>
    </body>
    </html>

3 个答案:

答案 0 :(得分:1)

您可以添加测试以检查available_times数组的长度是否为&gt;在访问第一个单元格之前为0。

然后,您可以访问when或url属性:

  • available_times[0].when
  • available_times[0].url

编辑:将name.available_times[0]保存在临时变量中并写入 temp.whentemp.url

答案 1 :(得分:0)

在JSON链接中,某些schedule具有空available_times个数组。

available_times[0]是一个包含属性whenurl的对象,因此您必须编写name.available_times[0].url

答案 2 :(得分:0)

我创建了一个JSFiddle检查this。您可以在可用时间检查数据,然后继续。 if (name.available_times.length){....... ..... ....

$(document).ready(function(){
$.getJSON('https://www.inquicker.com/facility/americas-family-doctors.json',
    function(data){

    $.each(data.schedules, function(i, name){
        times=''
            if (name.available_times.length){
                times='<ul>'
                times+='<li><a href="'+name.available_times[0].url+'">'+name.available_times[0].when+'</a></li>'
                times+='</ul>'
            }
            else{
               times='<ul><li>No Time Available</li></ul>'                    
            }
        $('#names').append('<li>' + (name.name) + times + '</li>');
    });
});

});