【问题标题】:How can I render a html table from a json object如何从 json 对象呈现 html 表
【发布时间】:2020-07-02 15:17:27
【问题描述】:

我正在构建一个快速应用程序,它可以呈现 csv 并将其转换为 json。我在我的方法中将此 json 作为 var 并希望能够将其呈现为我的 html 页面中的表格。我怎样才能把这个json对象变成一个html表?

例如

解析的 json

[{ 'Province/State': 'West Virginia',
    'Country/Region': 'US',
    'Last Update': '2020-03-19T02:33:09',
    Confirmed: '2',
    Deaths: '0',
    Recovered: '0',
    Latitude: '38.4912',
    Longitude: '-80.9545' },
  { 'Province/State': 'US',
    'Country/Region': 'US',
    'Last Update': '2020-03-19T19:13:18',
    Confirmed: '1',
    Deaths: '0',
    Recovered: '108',
    Latitude: '37.0902',
    Longitude: '-95.7129' } ]

我想用静态文件把它做成 html 表格。

【问题讨论】:

  • 我不明白为什么这被否决了?这是一个措辞不当的问题吗?
  • 所以要返回html表给客户端?
  • @Supercool.Yes.

标签: html node.js json csv express


【解决方案1】:

let json=[
  { 
    'Province/State': 'West Virginia',
    'Country/Region': 'US',
    'Last Update': '2020-03-19T02:33:09',
    Confirmed: '2',
    Deaths: '0',
    Recovered: '0',
    Latitude: '38.4912',
    Longitude: '-80.9545' 
  },
  { 'Province/State': 'US',
    'Country/Region': 'US',
    'Last Update': '2020-03-19T19:13:18',
    Confirmed: '1',
    Deaths: '0',
    Recovered: '108',
    Latitude: '37.0902',
    Longitude: '-95.7129' 
  } ];
let tableHead=""
for(let column in json[0]){
  tableHead+=`<th>${column}</th>`
}
tableHead+="</tr>"
document.querySelector('#table_head').innerHTML=tableHead;

let tableBody=""
json.forEach(element => {
    tableBody+="<tr>"
    for(let prop in element){
      tableBody+=`<td>${element[prop]}</td>`
    }
    tableBody+="</tr>"
});


document.querySelector('#table_body').innerHTML=tableBody;
table {
  border: 1px solid;
}

table tr td{
  border-bottom: 1px solid;
}
table tr:last-child td{
  border-bottom: none;
}
<table>
  <thead id="table_head"></thead>
  <tbody id="table_body"></tbody>
</table>

【讨论】:

    【解决方案2】:

    我假设你想发送基于 csv 解析数据的表格 html。

    这里是编码sn-p

    let json=[
      { 
        'Province/State': 'West Virginia',
        'Country/Region': 'US',
        'Last Update': '2020-03-19T02:33:09',
        Confirmed: '2',
        Deaths: '0',
        Recovered: '0',
        Latitude: '38.4912',
        Longitude: '-80.9545' 
      },
      { 'Province/State': 'US',
        'Country/Region': 'US',
        'Last Update': '2020-03-19T19:13:18',
        Confirmed: '1',
        Deaths: '0',
        Recovered: '108',
        Latitude: '37.0902',
        Longitude: '-95.7129' 
      } ];
    let tableString="<table><tr>"
    for(let column in json[0]){
      tableString+=`<th>${column}</th>`
    }
    tableString+="</tr>"
    json.forEach(element => {
        tableString+="<tr>"
        for(let prop in element){
          tableString+=`<td>${element[prop]}</td>`
        }
        tableString+="</tr>"
    });
    tableString+=`</table>`;
    
    document.querySelector('#main').innerHTML=tableString;
    table, th, td {
      border: 1px solid black;
    }
    <div id="main">
    </div>

    【讨论】:

    • 是的,这正是我所需要的。你知道为什么这篇文章会被如此多地否决吗?
    • 在您的问题“我将如何使用静态 html 文件执行此操作。”、“我想用静态文件将其制作成 html 中的表格。”这些陈述有点含糊。
    猜你喜欢
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2018-09-18
    • 2011-07-06
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多