【问题标题】:Extracting JSON values from Alpha Vantage API in Google Apps Script从 Google Apps 脚本中的 Alpha Vantage API 中提取 JSON 值
【发布时间】:2021-03-19 20:04:49
【问题描述】:

我正在尝试使用 Google Apps Script 和 Alpha Vantage API 来提取 JSON 值以最终放置在 Google 表格中。对于某些 Alpha Vantage API 端点,我无法提取我想要的值。

这是我想要使用的 JSON 端点之一:

https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=IBM&apikey=demo

请注意,这只是他们的演示链接之一。

对于这个 API,我只想提取“价格”值。

{
"Global Quote": {
"01. symbol": "IBM",
"02. open": "128.9400",
"03. high": "130.9950",
"04. low": "127.7900",
"05. price": "130.0600",
"06. volume": "5835669",
"07. latest trading day": "2021-03-18",
"08. previous close": "129.0300",
"09. change": "1.0300",
"10. change percent": "0.7983%"
}
}

我想从中提取值的另一个 API:

https://www.alphavantage.co/query?function=BALANCE_SHEET&symbol=IBM&apikey=demo

我现在在 Google App Script 编辑器中拥有的是第一步(JS 新手),但不完全是从这里去哪里。在第一个 API 中命名对象的方式(例如“05.price”)让我失望,因为我认为我不能使用点符号来调用该值,因为它在 API 中的命名约定。 (如果不正确,请告诉我)。

function testAPI() {
  
  var api_url = "https://www.alphavantage.co/queryfunction=GLOBAL_QUOTE&symbol=IBM&apikey=demo";
  var json = UrlFetchApp.fetch(api_url);
  
  var obj = JSON.parse(json);
  
  Logger.log(obj);
}

感谢您对此工作流程的任何帮助。

【问题讨论】:

    标签: javascript json api google-apps-script alpha-vantage


    【解决方案1】:
    function testAPI() {
      var api_url = "https://www.alphavantage.co/queryfunction=GLOBAL_QUOTE&symbol=IBM&apikey=demo";
      var json = UrlFetchApp.fetch(api_url);
      var obj = JSON.parse(json);
      //I  assume everything above this is all correct if it's not that's your problem
      Logger.log(obj["Global Quote"]["05. price"]);
    }
    

    测试:

    function testAPI() {
      //var api_url = "https://www.alphavantage.co/queryfunction=GLOBAL_QUOTE&symbol=IBM&apikey=demo";
      //var json = UrlFetchApp.fetch(api_url);
      var json = '{"Global Quote": {"01. symbol": "IBM","02. open": "128.9400","03. high": "130.9950","04. low": "127.7900","05. price": "130.0600","06. volume": "5835669","07. latest trading day": "2021-03-18","08. previous close": "129.0300","09. change": "1.0300","10. change percent": "0.7983%"}}';
      var obj = JSON.parse(json);
      Logger.log(obj["Global Quote"]["05. price"]);
    }
    

    【讨论】:

    • 我今天早些时候也试过Logger.log(obj["05. price"]);,但它返回“Null”。可能是上述所有问题。
    • 现在工作。非常感谢!
    猜你喜欢
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多