问题描述
我正在使用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]; }
输出:
限制:
- 您不能将任何
=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",1)
作为参数传递。 json网址必须具有 您在问题中提到的结构。 - 此公式仅适用于
=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",3)
字段。