将对象数组的AJAX响应转换为JSON对象

Convert AJAX Response of Objects Array to a JSON object

本文关键字:对象 转换 JSON 响应 AJAX 数组      更新时间:2023-09-26

我这里有一个示例端点,它有一个JSON数据,但出于任何原因,我都不明白它为什么会返回[object Object]

模拟API

我以前的代码有点混乱,但幸运的是,我看到了另一个更清晰的答案。

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函数中访问?谢谢你的帮助。

您需要迭代数组

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>";