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

标签 javascript json ajax

我这里有一个示例端点,其中包含 JSON 数据,但出于某种原因,我不明白为什么它返回 [object Object]

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

关于javascript - 将对象数组的 AJAX 响应转换为 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34713141/

相关文章:

javascript - 使用 Angular ui Bootstrap 显示选项卡 - 选项卡集

javascript - 将对象文字从函数传递到 json 数组

javascript - 如何在 selenium 中单击 DatePicker 上的正确日期?

Javascript 到 jquery Ajax 请求

java - 通过 https url 连接进行 json Web 服务调用的响应时间太长

javascript - 通过 ng-model 将键值对传递给函数

asp.net-mvc - ASP.Net MVC2 自定义模板通过 Ajax 加载和模型更新

javascript - 使用 jQuery 在请求 header 中设置中文字符

php - 需要修复文件上传后停止页面重新加载的问题

javascript - 使用 Javascript 上传个人资料图片