首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从JSON文件中获得隐藏的变量?

如何从JSON文件中获得隐藏的变量?
EN

Stack Overflow用户
提问于 2022-07-28 08:22:57
回答 1查看 31关注 0票数 0

这可能是一个非常新手的问题,但我是一个非常新手的程序员,所以这里.

我使用GAS和Google获取图书封面的url,使用以下代码:

代码语言:javascript
复制
function myFunction() {
  var url = "https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&country=US"
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  Logger.log(response);
}

根据我有限的知识,我尝试使用它来获得正确的URL:

代码语言:javascript
复制
Logger.log(data.items.imageLinks.smallThumbnail);

但它只会返回一个错误。是不是缺少了什么东西,或者有什么不同的方法来得到我需要的变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 08:36:21

问题是,data.items是一个由10个元素组成的数组,因此必须对其进行索引。

如果您想访问第一个元素:

代码语言:javascript
复制
function myFunction() {
  var url = "https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&country=US"
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  console.log(data.items.length)
  Logger.log(data.items[0].volumeInfo.imageLinks.smallThumbnail);
}

如果要访问所有元素并将其存储在数组中:

代码语言:javascript
复制
function myFunction() {
  var url = "https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&country=US"
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  var items = data.items;
  var smallThumbnails = items.map(x=>x.volumeInfo.imageLinks.smallThumbnail);
  Logger.log(smallThumbnails);
}

输出:

代码语言:javascript
复制
[http://books.google.com/books/content?id=gK98gXR8onwC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api, http://books.google.com/books/content?id=LRlCAAAAYAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api, http://books.google.com/books/content?id=Fgn65IL3q4wC&printsec=frontcover&img=1&zoom=5&source=gbs_api, http://books.google.com/books/content?id=3vFDvgAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api, http://books.google.com/books/content?id=gK98gXR8onwC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api, http://books.google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api, http://books.google.com/books/content?id=64tuPwAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api, http://books.google.com/books/content?id=wAUiAAAAMAAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api, http://books.google.com/books/content?id=7hLQ_F0obXAC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api, http://books.google.com/books/content?id=tVxnDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73149518

复制
相关文章

相似问题

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