我在这里有一个示例端点,它有一个JSON数据,但由于任何原因,我不明白为什么它会返回[object Object]
。
我之前的代码有点令人困惑,但幸运的是我看到了另一个更清楚的答案。
function generateTable(data, selId){
var cnt = "<table border=1>";
cnt += "<tr>";
$.each(JSON.parse(data), function(key,value){
cnt += "<td><strong>" + key + "</strong></td>";
});
cnt += "<tr>";
/* cnt += "<tr>";
$.each(obj, function(key,value){
cnt += "<td>" + value + "</td>";
});
cnt += "<tr>"; */ This part was commented because the conversion above does not work.
cnt += "</table>";
$(selId).html(cnt);
}
function createTableData(APIurl, selId){
$.getJSON("http://jsonplaceholder.typicode.com/posts", function(data){
generateTable(data, selId);
});
}
当我尝试提醒返回的数据时,它会返回[object Object], [object Object], ...
,依此类推。如何将API中的JSON数据转换为我可以在generateTable
函数内访问的数组?谢谢你的帮助。
答案 0 :(得分:1)
你需要迭代数组
var cnt = "<table border=1>";
for (var i=0, len=data.length; i<len; i++){
var row = data[i];
cnt += "<tr>";
$.each(row, function(key,value){
cnt += "<td><strong>" + key + "</strong></td>";
});
cnt += "</tr>";
}
cnt += "</table>";