您好我正试图用Jquery解析下面的json,到目前为止我可以从结果中得到所有内容,除了性能标签的一个关键信息之外。
每个json结果都包含在一个事件标记中,然后在其中包含时间和日期等信息,格式如下
"location": {
"lng": -0.1187418,
"city": "London, UK",
"lat": 51.4681089
},
"start": {
"time": "19:30:00",
"datetime":"2010-02-16T19:30:00+0000",
"date": "2010-02-16"
},
我设法循环遍历并将其解析为html。但是,有一组“性能”标签的格式不同。
"performance": [{
{
"artist": {
"uri": "http://www.songkick.com/artists/288696-vampire-weekend",
"displayName": "Vampire Weekend",
"id": 288696,
"identifier": [{"mbid": "af37c51c-0790-4a29-b995-456f98a6b8c9"}]
}
"displayName": "Vampire Weekend",
"billingIndex": 1,
"id": 5380281,
"billing": "headline"
}
}],
现在在我的for循环中,我正在运行以下代码,该代码在控制台中显示性能信息。
var events = data.resultsPage.results.event;
for (var i = 0, l = events.length; i < l; i++) {
console.log(events[i].performance); }
然而,当我尝试进入结构时,就像我已经使用其他元素一样,我得到了返回未定义,即
console.log(events[i].performance.displayName);
我是否必须以不同的方式执行此操作,因为在Json的性能标记中使用了[]括号?
提前致谢
答案 0 :(得分:0)
假设您发布的内容与您的JSON不完全相同(因为发布的内容有语法错误),“performance”属性是一个对象数组。因此,要获得“displayName”,您需要知道所需“性能”数组的哪个元素。然后,您可以通过索引访问它。
console.log(events[i].performance[j].displayName);
(假设您使用变量“j”循环“performance”数组。)
答案 1 :(得分:0)
尝试验证返回的JSON对象here,我猜JSON输出存在一些问题。