目前我使用以下代码显示JSON数据文件的部分内容:
$.getJSON(
"json.json",
function(data) {
$.each(data.events, function() {
$('#listings').append("<p>" + this['eventname'] + "</p><p>" + this['eventurl'] + "</p><p>" + this['dates[startdate]'] + "</p>");
});
}
);
这是我正在从中检索数据的本地缓存和创建的JSON文件的一部分。
"events": [
{
"eventid": "4419605",
"facebookeventid": "",
"eventname": "Mervi"
"dates": {
"startdate": "20120529010000",
"enddate": "20121231235500",
"timezone": "EDT"
},
"venue": {
"venueid": "210795",
"name": "On
"venueimages": {
"large": "",
"small": ""
}
},
"eventimages": [""],
"prices": {
"pricelow": "$195.00",
"pricehigh": "$195.00",
"pricedisplay": "$195.00"
},
"attractionList": [
{
"sequence": "0",
"artist": "",
"artistid": "7014411",
"billing": "1.00",
"genre": "Seminar/Lecture",
"links": "",
"media": ""
},
{
"sequence": "1",
"artist": "Families.",
"artistid": "7014441",
"billing": "0.75",
"links": "",
"media": ""
},
{
"sequence": "2",
"artist": "Se",
"artistid": "7014451",
"billing": "0.75",
"links": "",
"media": ""
}
]
},
我可以访问eventname
和以下键条目来生成html中的值(这就是我所追求的)但是当我想显示venueid
值时,这就在{ {1}}数组内部。并且venue
有一个空数组,它也在主数组中。在这里显示数据的正确语法是什么?我使用正确的JSON / AJAX menthod来显示像这样的复杂JSON结构吗?感谢。
答案 0 :(得分:1)
鉴于您修复了当前JSON对象中的一些内容,您可以this.venue.venueid
访问这些属性(就像使用this.eventname
而不是this['eventname']
一样)。
如果由于某种原因你更喜欢弦乐符号,那么等效词将是this['venue']['venueid']
但我在这里看不到有用的案例。
JSON对象中的问题是