如何在没有键的情况下在jquery中绑定json数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在没有键的情况下在jquery中绑定json数据相关的知识,希望对你有一定的参考价值。

如何在表格中附加数据... enter image description here

0
:
{createdBy: 1, UserName: "Anita Wilkins", 2018-02-01: "N/A", 2018-02-02: "N/A", 2018-02-03: "N/A", …}
1
:
{createdBy: 2, UserName: "Genson", 2018-02-01: "N/A", 2018-02-02: "N/A", 2018-02-03: "N/A", …}
length
:
2

__proto__
:
Array(0)
答案

您试图在不知道密钥的情况下迭代阵列。以下解决方案将为您完成。

<html>
<body>
    <div id="showData"></div>
</body>
<script>
    var tableData = [{
            "createdBy": 1,
            "UserName": "Anita Wilkins",
            "2018-02-01": "N/A",
            "2018-02-02": "N/A",
            "2018-02-03": "N/A"
        },
        {
            "createdBy": 2,
            "UserName": "Genson",
            "2018-02-01": "N/A",
            "2018-02-02": "N/A",
            "2018-02-03": "N/A"
        }
    ]

    // EXTRACT VALUE FOR HTML HEADER. 
    // ('createdBy', 'UserName', '2018-02-01', '2018-02-02' and 2018-02-03)
    var col = [];
    for (var i = 0; i < tableData.length; i++) {
        for (var key in tableData[i]) {
            if (col.indexOf(key) === -1) {
                col.push(key);
            }
        }
    }

    // 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 < tableData.length; i++) {

        tr = table.insertRow(-1);

        for (var j = 0; j < col.length; j++) {
            var tabCell = tr.insertCell(-1);
            tabCell.innerHTML = tableData[i][col[j]];
        }
    }

    // FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
    var divContainer = document.getElementById("showData");
    divContainer.innerHTML = "";
    divContainer.appendChild(table);
</script>

</html>

以上是关于如何在没有键的情况下在jquery中绑定json数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有任何附加模块的情况下在迷你 Web 服务器中返回 json?

Ajax 将带有两个数组的 JSON 对象发送到一个 servlet 并在没有 jQuery 的情况下在 java servlet 中解析

如何在没有插件的情况下在 Jquery 中格式化数字? [复制]

如何在没有jQuery的情况下在javascript中执行php文件

如何在没有查询的情况下在 Retrofit 中提取 Json 数据

如何在不解析的情况下在javascript中同步包含JSON数据?