首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >data.sparkfun iot上的JSONp Datetime Javascript查询失败

data.sparkfun iot上的JSONp Datetime Javascript查询失败
EN

Stack Overflow用户
提问于 2017-02-26 05:58:50
回答 2查看 80关注 0票数 0

我一直在尝试根据数据发布的时间从data.sparkfun中选择数据。我想要显示当前时间和前一天的天气数据。流是在:LINK我不是程序员,只是通过我的方式通过这里。

一个json行是这样的:

代码语言:javascript
复制
[{
  "humidity": "37.8919",
  "hectopascals": "1017.7725",
  "rainin": "0.0000",
  "tempc": "21.3162",
  "winddir": "-1",
  "windspeedkmh": "0.0000",
  "windgustkmh_10m": "0.0000",
  "timestamp": "2017-02-25T15:11:08.581Z"
}]

我使用的代码是:https://www.hanscees.com/photon/charts-data-sparkfun.html

代码语言:javascript
复制
function drawChart2() {

  var public_key = 'yA0EjKV3owhKNx1NlN3w';

  // JSONP request
  var jsonData = $.ajax({
    url: 'https://data.sparkfun.com/output/' + public_key + '.json',
    //data: {page: 1},  see http://phant.io/docs/output/http/
    // https://forum.sparkfun.com/viewtopic.php?f=44&t=40621
    data: {
      'gt': {
        'timestamp': 'now - 2d'
      }
    },
    dataType: 'jsonp',
  }).done(function(results) {

    var data = new google.visualization.DataTable();

    data.addColumn('datetime', 'Time');
    data.addColumn('number', 'TempC');
    data.addColumn('number', 'Humidity');

    $.each(results, function(i, row) {
      data.addRow([
        (new Date(row.timestamp)),
        parseFloat(row.tempc),
        parseFloat(row.humidity)
      ]);
    }); // each row
    // see https://google-developers.appspot.com/chart/interactive/docs/gallery/linechart#dual-y-charts

    var materialOptions = {
      chart: {
        title: 'TempC, Humidity outside'
      },
      width: 550,
      height: 500,
      series: {
        // Gives each series an axis name that matches the Y-axis below.
        0: {
          axis: 'TempC'
        },
        1: {
          axis: 'Humid'
        }
      },
      axes: {
        // Adds labels to each axis; they don't have to match the axis names.
        y: {
          Pressure: {
            label: 'TempC (Celsius)'
          },
          Humid: {
            label: 'Humidity'
          }
        }
      }
    };

    var materialChart = new google.charts.Line(ChartDivTemp);
    materialChart.draw(data, materialOptions);

  }); // results

} // jsondata

但是图表要么显示json文件中的所有数据(这会使它变得非常慢),要么在我使用:

代码语言:javascript
复制
data: {page: 1},

它显示了大约4小时的数据。如何帮助正确格式化查询?这一行:

代码语言:javascript
复制
data: {
  'gt': {
    'timestamp': 'now - 2d'
  }
}
EN

回答 2

Stack Overflow用户

发布于 2017-03-01 10:26:46

我通过邮递员做了一个post请求,它起作用了:

https://data.sparkfun.com/output/yA0EjKV3owhKNx1NlN3w.json?lt[timestamp]=now%20-2day

代码语言:javascript
复制
data: {
  'lt': {
    'timestamp': 'now - 2day'
  }
}

因此,您可以通过添加2day并将gt更改为lt来编写代码

票数 0
EN

Stack Overflow用户

发布于 2017-03-03 05:43:51

这段代码实现了我想要的功能:

代码语言:javascript
复制
// JSONP request
    var jsonData = $.ajax({
      url: 'https://data.sparkfun.com/output/' + public_key + '.json',
      //data: {page: 1},  see http://phant.io/docs/output/http/
    // https://forum.sparkfun.com/viewtopic.php?f=44&t=40621
  data: {'gt': {'timestamp': 'now - 2day'}},
      dataType: 'jsonp',
    }).done(function (results) {

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42462070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档