JSON forEach()和函数作为参数解释

时间:2016-11-23 18:22:23

标签: javascript jquery foreach getjson

什么是function(json)json参数,是sample.json文件吗?什么是val参数?在一些例子中,var键的外观如何?函数作为参数如何在此示例代码中起作用?

$.getJSON("sample.json", function(json) {

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

4 个答案:

答案 0 :(得分:2)

$.getJSON("sample.json", function(json) {

$.getJSON获取一个名为" sample.json" 的json文档,此文档分配在" json" 变量。

json.forEach(function(val) {

由于JSON是" JavaScript Object Notation",我们知道您的变量 json 对象,这就是您可以使用的原因函数Object.forEach(),它用作for..in..

var keys = Object.keys(val);

Object.keys(val)此处,您的变量 val 必须是对象数组,此方法将返回< / strong>对象/数组中的所有索引 val ),因此,索引您在文档中记录的json < strong>&#34; sample.json&#34; ,将添加到变量keys

例如:

$.getJSON("/json/sample.json", function(json) {

    var html = "";

    json.forEach(function(val) { // Iterates in the json
      var keys = Object.keys(val); // Assignes the indexes to the var keys

      html += "<div>"; // Opens and appends a div element

      keys.forEach(function(key) { // Appends the element of the object/array at each index (key)
        html += "<strong>" + key + "</strong>"
      });

      html += "</div><br>"; // Closes the div element and starts a new line
    });

答案 1 :(得分:0)

该函数只是一个回调函数,因此一旦获取并解析了sample.json文件,它将运行函数中的代码,使用&#39; json&#39;作为参考变量

答案 2 :(得分:0)

JQuery $.getJSON()方法的结果是JavaScript Object Notation结构。该响应自动作为第一个参数(在本例中为json)传递给提供的成功回调函数。它不必被称为json,它只是参数的任意名称,你可以称之为任何合法的标识符。

接收到参数后,结构将以.forEach()遍历,其中提供另一个函数作为每个遍历项目的回调。

Here is the documentation for JQuery's getJSON method.

答案 3 :(得分:0)

在该示例中,json是将传递给getJSON回调的第一个参数的参数名称。这将是解析 JSON的结果(因此不再是JSON,它将是一个对象图)。

代码期望JSON将数组定义为顶级项,并且正在调用Array.prototype.forEachval参数 - forEach的第一个参数 - 将按顺序显示该数组中的每个元素。

jQuery documentationMDNFor-each over an array in JavaScript?中的更多内容。