javascript - 使用 javascript 循环读取 JSON 数字数组

标签 javascript arrays json sorting date

<分区>

我正在尝试编写一个循环来读取嵌套的数字数组。

我正在阅读的 JSON 文件是这样的。每个数字键代表事件日期。 json reference for startdate and end date enter image description here

我有下面的 javascript 代码,每个 var i = 1 或 j = 1。 我想从日期中读取整个嵌套数字并将它们存储在某个地方。

$(document).ready(function () {
  $.getJSON('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500', function (data) {
    var data = data;
    var i = 2;
    var obj = data[i].calEvent;  
    var bingname = obj.eventName;
    var j = 1;
    var startdate = obj.dates[j].startDateTime;
    var time = new Date(startdate);
    var starttime = time.getFullYear()+'-' + (time.getMonth()+1) + '-'+time.getDate();
    var name = JSON.stringify(bingname);   

    document.getElementById("bingname").innerHTML = name;


    document.getElementById("bingtime").innerHTML = starttime;


    var name = firebase.database().ref("/bing").set({
      EventName : name,
      EventStart : starttime
    });

  });
});

现在,我应该对 var j 使用一些增量循环。但我不确定如何。 我的问题是在 obj.dates[j] 中检索到的 json 看起来不像一个数组。我似乎无法将其作为要通读的数字列表来阅读。非常感谢您的帮助。

如果有人甚至可以从今天的日期到最远的日期进行排序,那就是爱因斯坦:)

最佳答案

您将获得一个对象数组,其中包括一个 callEvent 对象,该对象具有 dates 属性,该属性是一个包含具有属性的 startDateTime 和 endDateTime 的对象的数组。 它将如下所示:

[
    {
      callEvent: {
        dates: [
          {startDateTime: '', endDateTime: ''},
          // more objects with start- and endDateTime
        ]
      }
    },
    // more callEvent objects..
]

现在您的代码应该遍历数组以获取所有 callEvent 对象并遍历每个 callEvent 中的所有日期对象。

$(document).ready(function () {
    $.getJSON('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500', function (array) {

        // loop through all elements in the array
        for (var i = 0; i < array.length; i++) {
            // loop through all dates inside the array 
            for (var j = 0; j < array[i].calEvent.dates.length; j++) {
                console.log(array[i].callEvent.dates[j].startDateTime)
                console.log(array[i].callEvent.dates[j].endDateTime)
            }
        }

    });
});

关于javascript - 使用 javascript 循环读取 JSON 数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45223313/

相关文章:

c# - C# 如何用从一个文本框中输入的值填充数组

javascript - 传递给新 map 的二维数组在 typescript 中失败

javascript - 在javascript或jquery中动态添加多维数组

json - JQ:如何基于正则表达式过滤器从数组中删除对象?

javascript - 如何转义 XHR 函数中解析的数据?

javascript:将文本附加到文本区域性能

python - 如何将sqlite3数据转换为Json格式和CSV格式

java - 我正在尝试从位于数组中的特定 JSON 对象检索数据,但无法访问 "value"对象中的各个项目

javascript - 三.js创建VS镜像。钢材对 Material 的影响?

javascript - Tinybox 不运行 (eval) javascript 代码