[英]inserting JSON data into table
我有这个JSON文件:
{ maxfare: [ 300, 600, 300, 650, 500, 500, 500, 200, 800 ],
cabtype:
[ 'Crazy Cheesy',
'Sukanta',
'Crazy Cheesy',
'SP\'s Biryani House',
'Aaoji Khhaoji',
'Durvankur',
'House of Paratha',
'Supreme Corner',
'The Leaf' ],
minfare: [ '4.5', '4.0', '4.4', '3.9', '3.9', '3.8', '3.7', '3.8', '3.9' ] }
我正在尝试通过javascript将其插入html表中。 为了做到这一点,我目前正在这样做:
var table = document.createElement("table");
table.className = "medium";
var row = document.createElement("tr");
table.appendChild(row);
var col1 = document.createElement("td");
col1.innerHTML = this.zomato.cabtype[0];
row.appendChild(col1);
var col2 = document.createElement("td");
col2.innerHTML = this.zomato.maxfare[0];
row.appendChild(col2);
var col3 = document.createElement("td");
col3.innerHTML = this.zomato.minfare[0];
row.appendChild(col3);
var row1 = document.createElement("tr");
table.appendChild(row1);
var col4 = document.createElement("td");
col4.innerHTML = this.zomato.cabtype[1];
row1.appendChild(col4);
var col5 = document.createElement("td");
col5.innerHTML = this.zomato.maxfare[1];
row1.appendChild(col5);
var col6 = document.createElement("td");
col6.innerHTML = this.zomato.minfare[1];
row1.appendChild(col6);
wrapper.appendChild(table)
但是,由于这是一个漫长的过程,因此我尝试将其放入for循环中,但不幸的是,该程序未显示任何内容。 谁能告诉我这是怎么回事。
for (var i = 0; i < zomato.length; i++) {
var tr = table.insertRow(-1);
for (var j = 0; j < col.length; j++) {
var tabCell = tr.insertCell(-1);
tabCell.innerHTML = zomato[i][col[j]];
}
}
您需要遍历zomato
的keys
。 这可以使用Object.keys(zomato)
来完成,它创建一个包含键的数组。 或者,您只需定义一个,即可声明各列的顺序:
var zomato = { maxfare: [300, 600, 300, 650, 500, 500, 500, 200, 800], cabtype: ['Crazy Cheesy', 'Sukanta', 'Crazy Cheesy', 'SP\\'s Biryani House', 'Aaoji Khhaoji', 'Durvankur', 'House of Paratha', 'Supreme Corner', 'The Leaf' ], minfare: ['4.5', '4.0', '4.4', '3.9', '3.9', '3.8', '3.7', '3.8', '3.9'] }; var table = document.createElement("table"); var keys = ["cabtype", "maxfare", "minfare"]; for (var j = 0; j < zomato[keys[0]].length; j++) { var tr = table.insertRow(); for (var k = 0; k < keys.length; k++) { var td = tr.insertCell(); td.innerHTML = zomato[keys[k]][j]; } } document.body.insertBefore(table, null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.