各位,
我有以下要求:
我将在 HTML 表中列出日志行,其中一些行将包含 JSON 字符串,我想在从磁盘加载 HTML 文件时格式化表中的 JSON。我几乎在那里,请参阅 JSFiddle。我似乎无法在表格单元格内对其进行格式化:
var table = document.getElementById("report");
for (var i = 0, row; row = table.rows[i]; i++)
{
col = row.cells[0];
//if(innerHTML == JSON)
col.innerHTML = (syntaxHighlight(JSON.stringify(col.innerHTML, undefined, 4)));
}
var s = {"Id":"124578","oId":"11","Type":"2"};
var ss = JSON.stringify(s, undefined, 4);
最佳答案
单元格内格式设置的问题是您在字符串而非对象上调用 JSON.stringify
。看看这个 fiddle :http://jsfiddle.net/zu7zs5b1/ .注意这部分:
for (var i = 0, row; row = table.rows[i]; i++) {
col = row.cells[0];
//if(innerHTML == JSON)
try {
jsn = JSON.stringify(JSON.parse(col.innerHTML), undefined, 4); // <-- proper JSON str
col.innerHTML = (syntaxHighlight(jsn));
} catch (e) {
console.log("Fail");
}
}
有点hacky,但它完成了工作。
关于javascript - HTML CELL 表中的 JSON 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46456781/