ImportJSON.gs解析嵌套的JSON数组

问题描述

我正在使用Google表格中的ImportJSON库来解析JSON文件。我遇到了一个看起来很奇怪的JSON文档,但我不确定如何解析它。 JSON文档如下所示:

{
  "draw": 2,"recordsTotal": "80129","recordsFiltered": "3988","data": [
    [
      "28/08/2020","US DOLLAR","108.2221","108.1224","108.3218"
    ],[
      "27/08/2020","108.1529","108.0529","108.2529"
    ]
  ]
}

我有兴趣获取/data下的第0个索引和该列表中的第三个项目(108.2221)。

在函数中使用/ data / 0的查询将返回#REF

如何使用此库在Google Spreadsheets中实现?

解决方法

解决方案:

您可以改为创建自己的自定义功能

TargetApi

并再次将其用作公式。

  • 例如,获取 1st 元素:

    @SuppressLint
  • 第三元素:

    function myCustomFunction(url,pos) {
      
      const response = UrlFetchApp.fetch(url);
      const arr =JSON.parse(response.getContentText());
      return  arr['data'][0][pos-1];
    }
    

输出:

example


限制:

  1. 您不能将任何=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",1) 作为参数传递。 json网址必须具有 您在问题中提到的结构。
  2. 此公式仅适用于=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",3) 字段。

参考文献:

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...