jQuery getJSON из внешнего файла JSON или сайта - PullRequest
3 голосов
/ 16 ноября 2011

У меня есть внешний файл JSON (data.json), и я хотел бы получить данные из определенного массива внутри этого файла и создать из него Ul.Как получить данные из «маркеров» с этим кодом?

code:

$.getJSON('data.json', function(data) {
    var items = [];

$.each(data, function(i, item) {
    items.push('<li><p>' + item.name + '</p><p>' + item.image + '</p><p>' + item.link + '</p></li>');
});

$('<ul/>', {
    'class': 'json_populated',
    html: items.join('')
    }).appendTo('.popover_content');
});

data.json file:

 { "lastUpdated":"12:57",
   "filterOut":[

            ],
    "markers":[
        {"name" : "blah", "image" : "images/logos/image1.png", "link" : "/link1"},
        {"name" : "blah 2", "image" : "images/logos/image2.png", "link" : "/link2"},
        {"name" : "blah 3", "image" : "images/logos/image3.png", "link" : "/link3"}

    ]}

Также это будет то же самоеПринцип, если бы я взял JSON с внешнего сайта, подобного этому

$.getJSON('http://website.co.uk/idname/49482/', function(data) {
    var items = [];

$.each(data, function(i, item) {
    items.push('<li><p>' + item.name + '</p><p>' + item.image + '</p><p>' + item.link + '</p></li>');
});

$('<ul/>', {
    'class': 'json_populated',
    html: items.join('')
    }).appendTo('.popover_content');
});

Я думаю, что я почти на месте, но любая помощь будет высоко ценится.

1 Ответ

3 голосов
/ 16 ноября 2011

Вы можете использовать результат как объект.

$.getJSON('data.json', function(data) {
    var items = [];
$.each(data.markers, function(i, item) {
    items.push('<li><p>' + item.name + '</p><p>' + item.image + '</p><p>' + item.link + '</p></li>');
});
$('<ul/>', {
    'class': 'json_populated',
    html: items.join('')
    }).appendTo('.popover_content');
});
});
...