繁体   English   中英

将JSON数据插入表

[英]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]];
        }
    }

您需要遍历zomatokeys 这可以使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM