Javascript 获取JSON数据-这里是新手

Javascript 获取JSON数据-这里是新手,javascript,jquery,json,Javascript,Jquery,Json,我正在使用Songkick API列出下一个演出日期,我已经修改了找到的代码。这是这本书的副本 HTML: <head> <script src="jquery.js" type="text/javascript"></script> <script src="jquery.livequery.js" type="text/javascript"></script> <script src="jquery.nano.js" typ

我正在使用Songkick API列出下一个演出日期,我已经修改了找到的代码。这是这本书的副本

HTML:

<head>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.livequery.js" type="text/javascript"></script>
<script src="jquery.nano.js" type="text/javascript"></script>
<script src="application.js" type="text/javascript"></script>
</head>
<body>
<ul id="concerts">Loading Next Gig...</ul>
</body>

如果没有列出任何活动,我希望它说“目前没有预订演出,请单击此处获取最新信息。”

使用
(点)访问json树

  • 演示:
注意:因为您使用的是
$.nano
,所以应该迭代json对象,以替换模板变量中的短代码

如果您想单独访问json属性,应按如下方式访问:

var uri = events.uri;
var displayName = events.displayName;
您的完整代码如下所示:

$(document).ready(function () {
    var template = "<li>Our next gig is <a href='{uri}'>{displayName}</a></li>";
    var apikey = 'MY_API_KEY';
    var container = $("ul#concerts");
    $.getJSON('http://api.songkick.com/api/3.0/artists/253846/calendar.json?apikey=' + apikey + '&jsoncallback=?', function (data) {
        container.html("");
        var events = data.resultsPage.results.event;
        if (events !== null) {
      $.each(events, function (i, item) {
            container.append($.nano(template, item));
        });
        }
    });
});
$(文档).ready(函数(){
var template=“
  • 我们的下一次演出是
  • ”; var apikey='MY_API_KEY'; var容器=$(“ul音乐会”); $.getJSON('http://api.songkick.com/api/3.0/artists/253846/calendar.json?apikey=“+apikey+”&jsoncallback=?”,函数(数据){ container.html(“”); var events=data.resultsPage.results.event; 如果(事件!==null){ $。每个(事件、功能(i、项){ container.append($.nano(模板,项)); }); } }); });
  • 嗨,Starx,谢谢你这么快就回来找我。我想我现在理解了获取数据的方法——我假设我可以创建新的变量,如:vention=data.resultsPage.results.event.location.city,以及我要查找的其他两个字符串的相同变量,但是我接下来如何附加这些变量,例如container.append($.nano(模板,事件[0],vention[0])?谢谢。使用其他响应和您的示例,我已经按照:var template=“
  • 我们的下一个gig是”
  • ”的思路更改了application.js;谢谢大家!
    events = data.resultsPage.results.event;
    
      var events = data.resultsPage.results.event;
      $.each(events, function (i, item) {
            container.append($.nano(template, item));
        });
    
    var uri = events.uri;
    var displayName = events.displayName;
    
    $(document).ready(function () {
        var template = "<li>Our next gig is <a href='{uri}'>{displayName}</a></li>";
        var apikey = 'MY_API_KEY';
        var container = $("ul#concerts");
        $.getJSON('http://api.songkick.com/api/3.0/artists/253846/calendar.json?apikey=' + apikey + '&jsoncallback=?', function (data) {
            container.html("");
            var events = data.resultsPage.results.event;
            if (events !== null) {
          $.each(events, function (i, item) {
                container.append($.nano(template, item));
            });
            }
        });
    });