Я хочу создать таблицу HTML.Но я не могу понять, каким должен быть мой JSON, в каком формате и какой паре ключ-значение он должен иметь.
Это таблица, которую я хочу.Пожалуйста, кто-нибудь поможет мне с кодом JSON и jQuery / Javascript, соответствующим этой таблице HTML.Я застрял здесь на некоторое время.
это JSON, который я сделал ранее:
[
{
"Billdate": "01-08-18",
"Total": "90",
"Ol1-total": "20",
"c1": "2",
"c2": "4",
"c3": "6",
"c4": "8",
"Ol2-total": "36",
"c12": "10",
"c22": "12",
"c32": "14",
"Ol3-total": "34",
"c2": "16",
"c3": "18"
},
{
"Billdate": "02-08-18",
"Total": "150",
"Ol1-total": "66",
"c1": "20",
"c2": "22",
"c3": "0",
"c4": "24",
"Ol2-total": "54",
"c2": "26",
"c3": "28",
"c4": "0",
"Ol3-total": "30",
"c2": "22",
"c3": "30"
}]
Но там говорится, что дубликат ключа.
Так что я изменил свойСтиль HTML теперь я не могу думать о формате JSON и даже JavaScript для отображения таблицы.
Я использовал этот код:
function addTable() {
var col = Object.keys(tableValue[0]); // get all the keys from first object
var countNum = col.filter(i => !isNaN(i)).length;
var num = col.splice(0, countNum);
col = col.concat(num);
// shift the first item to last
// CREATE DYNAMIC TABLE.
var table = document.createElement("table");
// CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.
var tr = table.insertRow(-1); // TABLE ROW.
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th"); // TABLE HEADER.
th.innerHTML = col[i];
tr.appendChild(th);
}
// ADD JSON DATA TO THE TABLE AS ROWS.
for (var i = 0; i < tableValue.length; i++) {
tr = table.insertRow(-1);
for (var j = 0; j < col.length; j++) {
var tabCell = tr.insertCell(-1);
tabCell.innerHTML = tableValue[i][col[j]];
}
}
// FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
var divContainer = document.getElementById("newTable");
divContainer.innerHTML = "";
divContainer.appendChild(table);
}
addTable()
Но он работает только для одного цикла, а не для всех вложенных.