【问题标题】:How to add json data to a Table where first row are the keys如何将json数据添加到第一行是键的表中
【发布时间】:2021-01-05 06:52:33
【问题描述】:

所以我之前制作了带有 XML 格式结果的表格,以及 "key: data" 格式的 JSON 结果,我会访问这样的数据:results.heading1,并使用映射将数据放入表格中,匹配带有数据的键。

新客户只能以以下格式发送他们的数据,当键都在第一行而不是每个条目旁边时,我不确定如何将其添加到我网站上的表格中。我做了很多谷歌搜索,但似乎没有什么符合我的情况!

当键(标题)不在数据旁边,而是在第一个结果行中时,我将如何制作表格?

有问题的 JSON 数据如下所示。我对客户端进行 API 调用,响应格式与以下示例相同:

resultReturn: {
  success: true, 
  results: [
      "ID, Name, Age",
      "A1, Bob, 31",
      "B1, John, 24",
      "C2, Doe, 160",
      ,
  resultsHTML: ""
    }

【问题讨论】:

  • 亲近的选民能否解释他们认为需要澄清的内容?
  • 我不是关闭的标记,但我可以看到问题的问题。通常,如果您可以放置​​用于呈现 json 的完整代码以及示例 json 主体数据,则最好。我认为这可能引发了对该问题的密切投票。现在,它几乎无法回答。至少对我来说:)
  • 啊,谢谢,会更新说明显示的代码是从 API 调用到客户端的返回,即完整返回。

标签: javascript json html-table


【解决方案1】:

由于结果值是一个数组,其中的对象以逗号分隔,您可以这样做:

let resultReturn = {
  success: true, 
  results: [
      "heading1, head2, head3",
      "string, 200, 1.1",
      "string2, 100, 1.2",
      ]
    }

function loaddata() {
  let r = resultReturn.results;
  let tbody = document.getElementById("datatable");

  for (let i = 0; i < 3; i++) {
    let thisRow = r[i];
    let newRow = "<tr>";
    let thisRowItems = thisRow.split(",");
    for (let j = 0; j < thisRowItems.length; j++) {
      newRow += "<td>" + thisRowItems[j] + "</td>";
    }
    newRow += "</tr>";
    tbody.innerHTML += newRow;
  }
}
window.onload = loaddata;

请注意,出于测试目的,我已将其包装在一个函数中,因此您无需包含 window.onload 行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2016-09-13
    相关资源
    最近更新 更多