【问题标题】:Getting JSON from YQL using jQuery not working使用 jQuery 从 YQL 获取 JSON 不起作用
【发布时间】:2017-05-24 20:30:46
【问题描述】:

我需要一些帮助来修复此代码,它会尝试返回包含以下内容的 JSON:

{
"col0": "4-Jan-17",
"col1": "115.85",
"col2": "116.51",
"col3": "115.75",
"col4": "116.02",
"col5": "21118116"
},
{
 "col0": "3-Jan-17",
 "col1": "115.80",
 "col2": "116.33",
 "col3": "114.76",
 "col4": "116.15",
 "col5": "28781865"
}

这是我现在的代码:

function getData() {
var dataFormat= "&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";
var site = 'http://www.google.com/finance/historical?q='+ 'AAPL' +'&startdate=Jan+01%2C+2017&enddate=Jan+05%2C+2017&output=csv';
var symbol = $("#txtSymbol").val();
var historicalQ = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from csv where url="' + site + '"') + dataFormat;


$(function() {
    $.getJSON(historicalQ, function(json) {            
         var test = json;
         console.log(test);
    });
});
}

我最初使用的是 yahoo 的数据库,但他们最近关闭了它,所以在此我试图将其转换为使用 Google 的 API。当我运行它时,我得到了一些看起来完全错误的东西:

[object Object] {
 query: [object Object] {
 count: 4,
 created: "2017-05-24T20:26:37Z",
 lang: "en-US",
 results: [object Object] { ... }
  }
}

我知道 google 链接有效,因为我在 YQL 控制台中对其进行了测试,所以我认为错误在我的代码中。任何帮助将不胜感激!

【问题讨论】:

    标签: javascript jquery json yql stockquotes


    【解决方案1】:

    原来我想通了。我必须在 YQL 控制台中查看返回的 JSON 响应并找出我需要做的事情。这是我所做的更改:

    $(function() {
        $.getJSON(historicalQ, function(json) {            
          result = json.query.results;
          var length = Object.keys(result.row).length;
          for (var i=1; i < length; i++) {
            console.log(result.row[i].col4);
          }
          });
    

    这会从结果中获取“收盘价”列。它正在返回 [object Object],我意识到我必须准确指定我想要的 JSON 的哪个方面。发布此内容以防万一有人遇到类似问题并需要帮助。

    【讨论】:

      猜你喜欢
      • 2018-01-23
      • 1970-01-01
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多