javascript - HTML CELL 表中的 JSON 格式

标签 javascript html json

各位,

我有以下要求:

我将在 HTML 表中列出日志行,其中一些行将包含 JSON 字符串,我想在从磁盘加载 HTML 文件时格式化表中的 JSON。我几乎在那里,请参阅 JSFiddle。我似乎无法在表格单元格内对其进行格式化:

http://jsfiddle.net/yh7bsd51/

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/

相关文章:

JavaScript 标准样式无法识别 Mocha

javascript - 跨节点和浏览器共享 nunjucks 过滤器

javascript - 为什么 parseInt ("09") 返回 0 而 parseInt ("07") 返回 7?

javascript - 如何使用javascript根据输入值突出显示相关数字范围?

javascript - 如何在 Javascript 中检查它是 JsonArray 还是 JsonObject

json - 如何将JSON转换为angular2中的查询字符串?

java - Android 中的 Retrofit 无法解析

javascript - 超时-Dialog.js 问题

html - 如何在两种颜色的 Bootstrap 中拆分屏幕

javascript - 不使用 jQuery 获取文本字段的当前值