json - Google Apps 脚本 : Returning "null" when trying to select a specific object in a API response but I can see it in the original response

标签 json api object parsing google-apps-script

总的来说,我是 JSON 的相对新手。我正在尝试在 Google Apps 脚本中实现一些功能。

我的函数调用 www.goldpricez.com 的 API 并接收一些关于世界各地黄金价格的数据,在这种情况下,我想返回一个特定值(黄金价格,以 MAD 表示)。

 function fetchGoldRates() {

 var currency = "mad";
 var unit = "gram";

 var url = 'http://goldpricez.com/api/rates/currency/' + currency + '/measure/' + unit;

 var params = {
    'method': 'GET',
    'muteHttpExceptions': true,
    'headers': {
      'X-API-KEY': '###'
    }
 };

 var response = UrlFetchApp.fetch(url,params);

 var parsedData = JSON.parse(response.getContentText());

 Logger.log(parsedData); //Works and include the data I want in the object gram_in_mad

 Logger.log(parsedData.gram_in_mad); //Returns Null

}

这是我收到的 JSON 数据......以 pretty-print 可视化格式。
{
   "ounce_price_usd": "1729.54",
   "gmt_ounce_price_usd_updated": "26-05-2020 04:18:01 am",
   "ounce_price_ask": "1729.54",
   "ounce_price_bid": "1729.03",
   "ounce_price_usd_today_low": "1724.91",
   "ounce_price_usd_today_high": "1730.33",
   "usd_to_mad": "9.871449",
   "gmt_mad_updated": "26-05-2020 12:05:00 am",
   "ounce_in_mad": 17073.066,
   "gram_to_ounce_formula": 0.0321,
   "gram_in_usd": 55.518234,
   "gram_in_mad": 548.0454
}

我无法访问我想要的单个元素 gram_in_mad ,我不明白为什么。这是 Google Apps Script 的记录器控制台,显示了我的日志行。

最佳答案

从你的问题和脚本,

  • 如果This is the JSON data I receive back...in a pretty print visualized format.的值是 JSON.stringify(parsedData) 的值, parsedData.gram_in_mad返回 548.0454 .
  • 但是如果This is the JSON data I receive back...in a pretty print visualized format.的值是 parsedData 的值,我以为在response的情况下的 var response = UrlFetchApp.fetch(url,params); , parsedData即使 var parsedData = JSON.parse(response.getContentText()); 也可能是字符串用来。

  • 那么下面的修改呢?

    从:
    var parsedData = JSON.parse(response.getContentText());
    

    到:
    var parsedData = JSON.parse(JSON.parse(response.getContentText()));
    

    关于json - Google Apps 脚本 : Returning "null" when trying to select a specific object in a API response but I can see it in the original response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62013224/

    相关文章:

    python - 如何使用python解析ld+json

    iphone - 关于数据驱动的 iPhone 应用程序的建议和技巧

    java - JFC和API的概念总体上是一样的吗?

    javascript - 如何在Javascript中深度复制(克隆)带有数组成员的对象?

    javascript - Javascript 对象和访问存在的属性的问题

    javascript - Angular UI Router - $stateParams 有属性但无法访问它们

    javascript - 我应该如何在http post请求的请求有效负载中传递json数据

    xml - JSON 根元素

    javascript - 硬刮 API

    php - 从电子邮件加载联系人