将 JSON 转换为 HTML:未捕获的类型错误:json.forEach 不是函数

KAT*_*KAT 0 javascript jquery json

我想将 JSON 转换为 HTML 以在网站上显示它。我用谷歌搜索过,当 whenjson是一个字符串时会发生这个错误,首先我需要解析。但是当我使用时JSON.parse,控制台说它已经是一个对象(Unexpected token o in JSON at position 1)。

$(document).ready(function() {
  $("#getMessage").on("click", function() {??
    $.getJSON("http://quotes.rest/qod.json", function(json) {
      var html = "";

      json.forEach(function(val) {
        var keys = Object.keys(val);

        html += "<div class = 'blabla'>";

        keys.forEach(function(key) {
          html += "<b>" + key + "</b>: " + val[key] + "<br>";
        });

        html += "</div><br>";
      });

      $(".message").html(html);
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

Tim*_*imo 6

json是一个对象,而不是一个数组。您forEach只能在数组上使用。

正如您已经完成的那样,您可以像这样迭代对象的键:

Object.keys(json).forEach(function(key) {
    var value = json[key];
    ...
});
Run Code Online (Sandbox Code Playgroud)