首页 > 解决方案 > 如何将从 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)”。

标签: jsonfirebaseparsinggoogle-sheets

解决方案


消息“找不到方法 setValues(object)”与range.setValues()方法有关。这意味着JSON.parse()按预期工作并返回 JSON 对象,但setValues()参数必须是 2D 数组,而不是 JSON 对象。

在用作参数之前,您应该将 JSON 对象转换为数组。看一个例子。一般情况下,转换代码取决于对象结构,所以我们不能在这里写出确切的代码。对于 112 个元素,它可能看起来相当长......但是我们可以在您提供更多详细信息后将其附加到此处。


推荐阅读