【问题标题】:How can I loop through JSON file? [duplicate]如何循环遍历 JSON 文件? [复制]
【发布时间】:2018-05-05 13:47:23
【问题描述】:

我有一个 JSON 文件:

{
    "stats": {
        "operators": {
            "recruit1": {
                "won": 100,
                "lost": 50,
                "timePlayed": 1000
            },
            "recruit2": {
                "won": 200,
                "lost": 100,
                "timePlayed": 2000
            },
            "recruit3": {
                "won": 50,
                "lost": 10,
                "timePlayed": 500
            }
        },
        "modes": {
            "secure": {
                "won": 80,
                "lost": 40,
                "bestScore": 7582
            },
            "bomb": {
                "won": 12,
                "lost": 18,
                "bestScore": 4500
            }
        }
    }
}

我想在表格中显示它: .

我尝试使用 for in 循环,但我只得到没有值的名称。

【问题讨论】:

  • 发布您尝试过的确切代码。
  • 您不会循环 JSON 文件,而是循环数组。这里的想法相同,所以看看如何在 Javascript 中执行for each(提示:是的,您确实需要在循环中使用密钥作为访问器)。
  • 人们希望在格式良好的问题中看到您尝试过的内容(您的代码)。帮助他们帮助你。请拨打stack overflow tour了解更多关于本网站的信息,并阅读how to ask
  • 您的代码不存在,但如果您尝试将名称显示为“.operators”,那么也可以尝试像“.operators.won”、“.operators.lost”...
  • 使用eachstats 并将数据输出为您想要的表结构,但您必须显示您所做的我们不会为您编写代码。

标签: javascript


【解决方案1】:

您可以从这里开始:

var obj = {
"stats": {
    "operators": {
        "recruit1": {
            "won": 100,
            "lost": 50,
            "timePlayed": 1000
        },
        "recruit2": {
            "won": 200,
            "lost": 100,
            "timePlayed": 2000
        },
        "recruit3": {
            "won": 50,
            "lost": 10,
            "timePlayed": 500
        }
    },
    "modes": {
        "secure": {
            "won": 80,
            "lost": 40,
            "bestScore": 7582
        },
        "bomb": {
            "won": 12,
            "lost": 18,
            "bestScore": 4500
        }
    }
}
}

for(var k in obj.stats){
  console.log('-',k)
  for(var k2 in obj.stats[k]){
    console.log('-----',k2)
    for(var k3 in obj.stats[k][k2]){
      console.log('---------',k3 +': '+ obj.stats[k][k2][k3]);
    }
  };
}

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多