使用javascript从嵌套的json文件中提取数据

苛刻的

我被这个问题困住了。我有下面的嵌套json。

{
  "current": {
    "timeSeries": [
      {
        "results": [
          {
            "count": 426
          }
        ],
        "beginTimeSeconds": 1490928320,
        "endTimeSeconds": 1490930120,
        "inspectedCount": 426
      },
      {
        "results": [
          {
            "count": 510
          }
        ],
        "beginTimeSeconds": 1490930120,
        "endTimeSeconds": 1490931920,
        "inspectedCount": 510
      }
    ]
  },
  "previous": {
    "timeSeries": [
      {
        "results": [
          {
            "count": 426
          }
        ],
        "beginTimeSeconds": 1490928320,
        "endTimeSeconds": 1490930120,
        "inspectedCount": 426
      },
      {
        "results": [
          {
            "count": 510
          }
        ],
        "beginTimeSeconds": 1490930120,
        "endTimeSeconds": 1490931920,
        "inspectedCount": 510
      }
    ]
  }
}

我正在尝试从上面的 json 中提取数据并使用谷歌可视化 api 将其呈现在网页上。

我试过下面的js,但没有用。

function drawChart() {
  var jsonData = $.ajax({
      url: "https://api.myjson.com/bins/bay0v",
      dataType: "json",
      async: false
      }).responseText;

   var options = {
      title : 'Sample json line chart',
      curveType : 'function',
    };

//var obj = JSON.parse(jsonData);
console.log(jsonData);
console.log(jsonData.current.timeSeries[0].beginTimeSeconds);

    var options = {
       hAxis: {
         title: 'Time',
         textStyle: {
           color: '#01579b',
           fontSize: 20,
           fontName: 'Arial',
           bold: true,
           italic: true
         },
         titleTextStyle: {
           color: '#01579b',
           fontSize: 16,
           fontName: 'Arial',
           bold: false,
           italic: true
         }
       },
       vAxis: {
         title: 'Popularity',
         textStyle: {
           color: '#1a237e',
           fontSize: 24,
           bold: true
         },
         titleTextStyle: {
           color: '#1a237e',
           fontSize: 24,
           bold: true
         }
       },
       colors: ['#a52714', '#097138']
     };

  // Instantiate and draw our chart, passing in some options.
  var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
  chart.draw(data, {width: 1400, height: 360});
}

我在浏览器控制台中看到以下输出。

Uncaught TypeError: Cannot read property 'timeSeries' of undefined

有人可以帮我解决这个问题吗?

提前致谢。

特里科特

的输出console.log可能会产生误导,因为当您在控制台提供的嵌套结构中实际向下钻取时,浏览器往往只查看记录变量的内容。

这意味着您可能会产生错误的印象,即console.log调用时嵌套数据已经存在,这完全不能保证。

此外,该async: false选项已被弃用,因此 Ajax 调用很可能会忽略此设置并异步运行。

因此,重写您的代码以使用在响应可用时调用的回调函数,例如使用.done(). 另请注意,jQuery 提供该$.getJSON方法作为 Ajax 调用的快捷方式:

$.getJSON("https://api.myjson.com/bins/bay0v").done(function (jsonData) {
    console.log(jsonData.current.timeSeries[0].beginTimeSeconds);
    var options = {
        title : 'Sample json line chart',
        curveType : 'function',
    };
    // ...etc. Rest of your code comes here, or is called from here.
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 Javascript 从 JSON 文件中提取数据到 HTML

来自分类Dev

如何从嵌套数组中提取JSON数据?使用Android

来自分类Dev

如何使用Python从Json文件的嵌套列表中提取对象?

来自分类Dev

从嵌套的JSON循环PHP中提取数据

来自分类Dev

无法从嵌套的 JSON 路径中提取数据

来自分类Dev

使用JavaScript从AJAX的JSON响应中提取数据

来自分类Dev

JSON和Javascript-无法从JSON中提取嵌套数据

来自分类Dev

从C ++文件中提取JSON数据

来自分类Dev

从JSon文件中提取数据的Null参考

来自分类Dev

如何从json文件中提取数据

来自分类Dev

从 CSV 文件中提取 JSON 数据

来自分类Dev

如何使用Json Extractor从Jmeter中的嵌套Json中提取数据

来自分类Dev

使用python从具有不同级别的嵌套列表和字典的json中提取数据

来自分类Dev

使用sed从文件中提取数据

来自分类Dev

使用R从pdf文件中提取数据

来自分类Dev

使用python从.txt文件中提取数据

来自分类Dev

使用Bash脚本从文件中提取数据

来自分类Dev

使用Python从xml文件中提取数据

来自分类Dev

从文件中提取数据

来自分类Dev

从嵌套列表中提取数据

来自分类Dev

如何在嵌套JSON数据中提取数组值

来自分类Dev

ionic 3 - 从嵌套的 JSON 中提取数据到数组中

来自分类Dev

使用jQuery从数据属性中提取JSON

来自分类Dev

使用python从json中提取数据

来自分类Dev

使用 Python 从 Json 中提取数据的问题

来自分类Dev

使用SuperObject从JSON文件中提取值

来自分类Dev

使用SuperObject从JSON文件中提取值

来自分类Dev

使用jq从JSON文件中提取密钥

来自分类Dev

使用javascript从tablesorter表中提取数据