ImportJSON.gs 解析嵌套的 JSON 数组
ImportJSON.gs parse nested JSON array
我在 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",
"US DOLLAR",
"108.1529",
"108.0529",
"108.2529"
]
]
}
我有兴趣获取 /data
下的第 0 个索引和该列表中的第三个项目 (108.2221
)。
在函数 returns #REF
中使用 /data/0 的查询
如何使用此库在 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)
输出:
限制:
- 您不能将任何
url
作为参数传递。 json url 需要有
你在问题中提到的结构。
- 此公式仅适用于
data
字段。
参考文献:
我在 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",
"US DOLLAR",
"108.1529",
"108.0529",
"108.2529"
]
]
}
我有兴趣获取 /data
下的第 0 个索引和该列表中的第三个项目 (108.2221
)。
在函数 returns #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)
输出:
限制:
- 您不能将任何
url
作为参数传递。 json url 需要有 你在问题中提到的结构。 - 此公式仅适用于
data
字段。