我对JSON很困惑,我可以很容易地获取第一级数组值,但是遇到sub的问题。
我使用$ .getJSON,代码是
$.getJSON('http://www.authenticjobs.com/api/?api_key=4c4f1d5934d66ca872dfa2a0cfd3a20b&method=aj.jobs.search&perpage=3&format=json&callback=?', function(data) {
var listings = "";
$.each(data.listings.listing, function(index, listing) {
listings += "<li><strong>" + listing.company.name + "</strong> needs a <a href='" + listing.url + "'>" + listing.title + "</a>";
if (listing.location != "") {
listings += " in " + listing.location;
}
listings += "</li>";
});
$("#authentic-jobs ul").append(listings);
});
视觉数据在这里:http://cloud.ignatynikulin.com/2v0F2p2x111r0X3k4441
我无法获取公司位置名称。
我尝试过listing.company.location.name但是它没有用,也没有任何意义。
谢谢!
答案是(谢谢GregL):
由于listing.company.location是一个嵌套对象(由...显示) 你附上的图片中的{},所以你只想检查一下 对象不是像undefined,null或类似的东西(是什么 在Javascript中称为“假值”。
答案 0 :(得分:1)
我想我创建了一个有效here的jsFiddle。
关键是使用:
if (listing.company.location) {
listings += " in " + listing.company.location.name;
}
答案 1 :(得分:0)
listings += " in " + listing.company.location.name;