Javascript ImportJSON.gs解析嵌套JSON数组
我正在使用Google Sheets中的ImportJSON库解析JSON文件。我遇到了一个非常奇怪的JSON文档,我不确定如何解析它。JSON文档如下所示:Javascript ImportJSON.gs解析嵌套JSON数组,javascript,json,google-apps-script,google-sheets,custom-function,Javascript,Json,Google Apps Script,Google Sheets,Custom Function,我正在使用Google Sheets中的ImportJSON库解析JSON文件。我遇到了一个非常奇怪的JSON文档,我不确定如何解析它。JSON文档如下所示: { "draw": 2, "recordsTotal": "80129", "recordsFiltered": "3988", "data": [ [ "28/08/202
{
"draw": 2,
"recordsTotal": "80129",
"recordsFiltered": "3988",
"data": [
[
"28/08/2020",
"US DOLLAR",
"108.2221",
"108.1224",
"108.3218"
],
[
"27/08/2020",
"US DOLLAR",
"108.1529",
"108.0529",
"108.2529"
]
]
}
我有兴趣获得/data
下的第0个索引以及该列表中的第三项(108.2221
)
在函数中使用/data/0查询返回#REF
如何使用此库在Google电子表格中实现这一点?解决方案:
您可以创建自己的自定义函数:
function myCustomFunction(url,pos) {
const response = UrlFetchApp.fetch(url);
const arr =JSON.parse(response.getContentText());
return arr['data'][0][pos-1];
}
并再次将其用作公式
- 例如,要获取1st元素:
=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",1)
=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",3)
- 或3rd元素:
=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",1)
=myCustomFunction("https://www.centralbank.go.ke/wp-admin/admin-ajax.php?action=get_wdtable&table_id=32",3)
输出:
限制:
url
作为参数传递。json url需要有
你在问题中提到的结构数据
字段参考资料: