如何获取 JSON 中的第一个键值?

Posted

技术标签:

【中文标题】如何获取 JSON 中的第一个键值?【英文标题】:How to get first key value in JSON? 【发布时间】:2021-09-19 21:52:09 【问题描述】:

我想使用 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] 获取第一个键,但无法实现相同的目的。 怎么做?

【问题讨论】:

试试Object.entries()。如果您需要更具体的帮助,请将您的问题编辑到代码中,以便我们帮助您进行调试。 var col = []; for (var i = 0; i ').append(table); 使用上面的代码,我可以生成第二个 JSON。 【参考方案1】:

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

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]);
        
    

这可能对某人有所帮助。

【讨论】:

【参考方案2】:

首先,您需要在 JSON 字符串上调用 JSON.parse() 来创建一个实际的 Javascript 对象。然后你可以这样做:

tableData = JSON.parse(my_json)
for (prop in tableData)

   console.log(prop) // should output your keys, txnId, txnNo, etc
   console.log(tableData[prop]) //should output your your value for that field

您可以使用此循环为表格生成 DOM 元素。

【讨论】:

以上是关于如何获取 JSON 中的第一个键值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不指定键值的情况下获取 JSON 对象的最后一个元素?

如何从 JSON 对象中获取特定的键值

java 怎么样获取Map中第几个键值对

Concat json to promise:如何从promise挂起的json对象中获取额外的键值对

如何在 PHP 中遍历数组并获取键值

如何在JSON格式的android动态键值对中动态获取输入数据