在嵌套数组中附加JSON值

时间:2012-11-16 10:09:39

标签: jquery html json

目前我使用以下代码显示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结构吗?感谢。

1 个答案:

答案 0 :(得分:1)

鉴于您修复了当前JSON对象中的一些内容,您可以this.venue.venueid访问这些属性(就像使用this.eventname而不是this['eventname']一样)。

如果由于某种原因你更喜欢弦乐符号,那么等效词将是this['venue']['venueid']但我在这里看不到有用的案例。

JSON对象中的问题是

  • 事件名称后缺少逗号
  • 地址名称后未发送的字符串和缺少逗号