2013-03-20 138 views
0

我有一个json API密钥&我想将json数据转换为在无序列表中以HTML或php显示。在html列表中显示json api数据

这是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> 

,但无法解析数据的格式化列出办法。

有人可以帮助我。

问候。

+0

创建循环和

  • 数据
  • 插入数据.. – 2013-03-20 11:51:13

    +0

    约杰什可以请你能够expalin的代码,以创建循环。 我想这样做,但没用。 – 2013-03-20 11:57:32

    +0

    参见'dfsq's'答案。 – 2013-03-20 11:59:32

    回答

    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

    感谢一个负载... 你的岩石.. – 2013-03-20 12:03:16

    +0

    你能告诉我一件事请... 我可以控制列表的数量,例如:如果我只需要显示4或5个项目? – 2013-03-20 12:20:33

    +0

    刚刚检查了他们的API。您可以使用'per_page'参数控制返回结果的数量。例如:http://jsfiddle.net/zvBE3/4/ – dfsq 2013-03-20 13:32:09

    1

    Ajax请求返回一个对象,您必须通过data.suggestions来创建您的列表。 喜欢的东西:

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