我正在尝试将字符串解析为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中获得的输出
但我希望它像是一样的东西
我做错了什么?
提前致谢!
答案 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;
}