在html列表中显示json api数据

时间:2013-03-20 11:48:57

标签: php jquery json api jsonp

我有一个json API密钥&我试图将json数据转换为在HTML或php中的无序列表中显示。

这是我拥有的API密钥:http://kippamp.uservoice.com/api/v1/forums/1/suggestions.json?client=qikbghkQYRolFTMvEXg

我可以使用以下代码解析原始json数据:

<script>
$.ajax({
    type: 'GET',
    url: 'http://kippamp.uservoice.com/api/v1/forums/1/suggestions.json?client=qikbghkQYRolFTMvEXg',
    async: false,
    jsonpCallback: 'jsonCallback',
    contentType: "application/json",
    dataType: 'jsonp',
    success: function(data)
    {
        $('#jsonp-results').html(JSON.stringify(data));
        console.log(json);
    },
    error: function(e)
    {
       alert(e.message);
    }
});
</script>

但无法以格式化方式解析数据列表。

请有人在这帮助我。

问候。

2 个答案:

答案 0 :(得分:4)

只需在循环中渲染结果即可。例如,将它们附加到ul容器中:

success: function (data) {
    var $ul = $('#results');
    $.each(data.suggestions, function(i, el) {
       $ul.append('<li>' + el.formatted_text + '</li>');
    });
},

http://jsfiddle.net/zvBE3/

您只需确定需要呈现的数据以及应使用的模板:

var row =
    '<li>' + 
        '<h2>' + el.title + '</h2>' +
        '<div>' + el.formatted_text + '</div>'+
    '</li>';
$ul.append(row);

http://jsfiddle.net/zvBE3/3/

答案 1 :(得分:1)

Ajax请求返回一个对象,你必须遍历data.suggestions来创建你的列表。 类似的东西:

$.each(data.suggestions, function(id, suggestion) {
    $('ul.mylist').append($('<li>'+suggestion.title+'</li>'));
});