如何获取 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 对象的最后一个元素?