javascript - 如何在 JavaScript 中迭代 JSON 对象并用它创建表?

标签 javascript html json

我有一个具有以下结构的 JSON:

diferencias = {
    "1": {
      "1": 543.0, 
      "0": 542.0
    }, 
    "2": {
      "0 1": 0.3333333333333333
    }
}

我需要获取一个以外键作为列的表。

我编写了以下代码:

$("#pinchetabla").empty()
    var tr = ""
    for (d in diferencias) {
        var r = ''
        for (dd in d) {
            //console.log(dd)
            r += '<tr>' + 'f[' + diferencias.dd + ']=' + diferencias.d.dd + '</tr>'
        }
        tr += r
    }

    var table = "<table id='resultados' class='table table-condensed'>" + tr + "</table>"
$("#pinchetabla").append(table)

我关注了jsfiddle

其中pinchetabla是一个div。但是我什至无法正确访问 JSON 键和值。我错过了什么?

最佳答案

当您使用 dot notation 访问属性时,像这样object.propertyname ,JavaScript 将查找 propertynameobject 。在你的情况下,ddd只是 object 中的键,但 JavaScript 会在 diferencias 中寻找它们但没能找到它们。

为了动态访问属性,您必须使用 subscript/bracket notation ,像这样

r += '<tr>' + 'f[' + d + ']=' + diferencias[d][dd] + '</tr>';

for循环也应该是这样的

for (dd in diferencias[d]) {

您的表创建代码可以这样修复

var tr = "";
for (d in diferencias) {
    var r = '<tr>';
    for (dd in diferencias[d]) {
        r += '<td>' + 'f[' + d + ']=' + diferencias[d][dd] + '</td>';
    }
    tr += r + '</tr>';
}

关于javascript - 如何在 JavaScript 中迭代 JSON 对象并用它创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22484091/

相关文章:

javascript - 为什么我的毫秒在 js 秒表中看起来不对

javascript - ionic 2/Angular 2 : string replaced with HTML tag isn't rendered properly

javascript - 需要澄清 "use strict"发生了什么; JavaScript 语法

javascript - 使用javascript的可折叠元素如何默认折叠

python - 解析 ad-hoc 树

javascript - 无法使用 jQuery 和 React.js 加载 data.json 文件

javascript - 尝试从另一个对象访问对象属性总是返回该属性的初始值

javascript - 如何检查所选行是否具有特定的联系人头衔?

html - 边框底部太宽

mysql - 我正在尝试解析本地磁盘上的 350 个文件并将数据作为 json 对象存储到数据库中