json - 如何将从 Firebase 返回的 JSON 解析为 Google 表格行?
问题描述
Script 中的代码(FB 设置已经完成)
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl,secret);
var data = base.getData();
var rowNum = 1;
var range = Sheet.getRange("A"+rowNum+":DH"+rowNum+"");
for (i in data) {
Logger.log(data[i]);
range.setValues(JSON.parse(data[i]))
rowNum += 1;
range = Sheet.getRange("A"+rowNum+":DH"+rowNum+"");
}
记录器很好地显示了 Firebase 的 112 个元素,但我无法正确解析数据。JSON.parse 失败说“找不到方法 setValues(object)”。
解决方案
消息“找不到方法 setValues(object)”与range.setValues()
方法有关。这意味着JSON.parse()
按预期工作并返回 JSON 对象,但setValues()
参数必须是 2D 数组,而不是 JSON 对象。
在用作参数之前,您应该将 JSON 对象转换为数组。看一个例子。一般情况下,转换代码取决于对象结构,所以我们不能在这里写出确切的代码。对于 112 个元素,它可能看起来相当长......但是我们可以在您提供更多详细信息后将其附加到此处。
推荐阅读
- linux-kernel - getnstimeofday 返回的最大值
- python - 如何处理包含在具有不同大小的元素列表中的数据来训练 LSTM?
- c++ - 为什么析构函数中的异常会在 msvc 2017 中的 c++17 中创建内存泄漏
- c# - 以编程方式填充分配给对象的属性集定义中的数据
- swift - 从非父视图控制器分配委托
- reactjs - 滚动时反应导航切换标签栏
- piranha-cms - 获取/设置块上的列表字段
- unity3d - 尝试启动 Unity / Unreal Engine 时收到错误 (API-MS-WIN-CRT-MATH)
- syntax - 在复杂条件下避免过多的括号
- cmake - CMake:所有子目录的 source_group