【问题标题】:JSON Data and Manipulating the ContentJSON 数据和操作内容
【发布时间】:2012-12-11 10:11:54
【问题描述】:

我正在尝试将此 JSON url 中的数据写出到 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>

【问题讨论】:

  • 您遇到了什么问题?
  • 目前这是写出未定义和对象对象。未定义是因为没有任何可用时间,而对象对象是可用时间。我需要能够将 JSON 文件的内容写入列表元素。

标签: javascript json jsonp


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    我创建了一个 JSFidle 检查this。您在 available_times 检查数据是否可用,然后继续。 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>');
        });
    });
    

    });

    【讨论】:

    • 你是男人.. 非常感谢
    • 所以您想从结果中删除医生姓名,只想显示位置和可用时间?
    • 更新了文件检查,如果这是你想要的。正如 LeviBotelho 所说,我认为您需要复习 JSON 的基础知识。这真的很简单。
    • 这很简单,用 available_times[0].url 中的数据添加一个 herf 检查小提琴
    • JSfiddle 存在一些问题,我的更新没有反映出来。我已经更新了上面的答案。检查这个。
    【解决方案3】:

    在 JSON 链接中,一些 schedules 有空的 available_times 数组。

    available_times[0] 是一个包含属性whenurl 的对象,所以你必须写name.available_times[0].url

    【讨论】:

    • 我明白你在说什么,我尝试了 name.available_times[0].when,但它抛出了一个错误 can read property of when undefined.
    • 那是因为不是所有的avaiable_times 数组都有元素。有些是空数组。检查pastebin.com/6DHzfBAS(计划ID 220 和222)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2021-07-08
    相关资源
    最近更新 更多