AppScript - JSON.parse返回一个字符串

时间:2018-03-16 22:36:46

标签: json firebase firebase-realtime-database google-apps-script

我正在尝试将字符串解析为JSON对象,以便我可以将其发送到Firebase,但由于某种原因,它没有这样做。它返回一个字符串而不是JSON对象。

继承我的代码,

  for(var i = 1; i < data.length; i++){
    str = "";
    var Date = data[i][0];
    for(var j = 1; j < columns; j++){
      if(data[i][j] == "")
        data[i][j] = "N/A";
      if(j < columns - 1)
        str += "value" + j + ": " + data[i][j] + ", ";
      else
        str += "value" + j + ":" + data[i][j];
    }

    str = "{" + str + "};";

    str = JSON.stringify(str); //converting to string
    Logger.log(typeof(str)); //returns string

    dataToImport[Date] = JSON.parse(str);
    Logger.log(typeof(dataToImport[Date])); //returns string
    Logger.log(dataToImport[Date]); 
  }

这是我在Firebase中获得的输出 current

但我希望它像是一样的东西 desired

我做错了什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

在这个问题上打了一整夜之后,我终于找到了一个有效的解决方案。我没有形成字符串然后将其解析为JSON对象,而是直接形成了一个str数组,然后将其分配给数组dataToImport

for(var i = 1; i < data.length; i++){
    var Date = data[i][0];
    for(var j = 1; j < columns; j++){
      if(data[i][j] == "")
        data[i][j] = "N/A";
      str["value" + j] = data[i][j];
    }
    dataToImport[Date] = str;
  }