首页 > 解决方案 > 如何获取 JSON 中的第一个键值?

问题描述

我想使用 javascript/jquery 将 JSON 数据动态转换为 HTML 表。我有JSON之类的,

     {
        "Transaction Details":
        {
         "txnId":"TP20151515151S45",
         "txnNo":"201548484848484",
         "txnDate":"09-JAN-2021",
         "txnStatus":"success"
        }
     }

我可以使用 jquery 为下面的 JSON 生成 HTML 表,

{
               "txnId":"TP20151515151S45",
               "txnNo":"201548484848484",
               "txnDate":"09-JAN-2021",
               "txnStatus":"success"
       }
using below code

var col = [];
for (var i = 0; i < txnJson.length; i++) {
   for (var key in txnJson[i]) {
       if (col.indexOf(key) === -1) {
       col.push(key);
       alert(key);
       console.log(key);
       }
   }
}
var table = document.createElement("table");
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);
}
for (var i = 0; i < txnJson.length; i++) {

   tr = table.insertRow(-1);

   for (var j = 0; j < col.length; j++) {
       var tabCell = tr.insertCell(-1);
       tabCell.innerHTML = txnJson[i][col[j]];
   }
}
$('#Div<%=i%>').append(table);

但我想获取“事务详细信息”作为表名和其他详细信息,如 txnId 作为键(标题)和 TP20151515151S45 作为值(行)。我尝试使用 Object.keys(obj)[0] 获取第一个键,但无法实现相同的目的。怎么做?

标签: javajqueryjsonjsp

解决方案


谢谢你。现在我可以使用下面的代码实现相同的目标,

var tableName;
var colspan = 0;
var colHeader = [];
var rowValue = [];
for (var key in txnJson) {
    tableName = key;
        console.log(key);
    for (var secondKey in txnJson[key]) {
        console.log(secondKey + ' : ' + txnJson[key][secondKey]);
        for (var thirdkey in txnJson[key][secondKey]) {
            colHeader.push(thirdkey);
            rowValue.push(txnJson[key][secondKey][thirdkey]);
            colspan = colspan +1;
            console.log(thirdkey + ' : ' + txnJson[key][secondKey][thirdkey]);
        }
    }
}

这可能会帮助某人。


推荐阅读