“[Ljava.lang.Object; @”是什么意思?

时间:2015-07-23 08:39:10

标签: javascript arrays google-apps-script

我正在从表单填写Google电子表格。代码将一些信息写入电子表格,它总是正确的,但在写出它应该的内容之前,它会在电子表格的最后一行写[Ljava.lang.Object;@1c7aa4fc(或类似的东西)。为什么会出现在那里?

写入电子表格的代码:

for (var p = 1; p < data.length; p++) {
    var ppopis = data[p][2]; 
    var sstav = data[p][7];
    var ukonceno_dne = data[p][9];
    var cell = spred2.getRange("H"+(p+1));
    var celll = spred2.getRange("J"+(p+1));
    if(nadpis_pole == ppopis && vlozena_hodnota == "Zrušeno") {
      cell.clear();
      cell.setValue("Zrušeno");
      if(ukonceno_dne == "" || ukonceno_dne == null){
        celll.setValue(dnesni_datum);
      }
    } else if (nadpis_pole == ppopis && vlozena_hodnota == "Vráceno") {
      cell.clear();
      cell.setValue("Vráceno");
      if(ukonceno_dne == "" || ukonceno_dne == null){
        celll.setValue(dnesni_datum);
      }
    }
  }

谢谢:)

2 个答案:

答案 0 :(得分:4)

App脚本具有在java上构建的底层数据结构... Ljava.lang .....表示Java中的对象表示法,用于表示GAS中的任何对象,如Array,JSON。要获得实际值,请尝试 toString ()(或) JSON.Stringify()并检查您是否有值。

答案 1 :(得分:0)

在进行数值设置时要小心。您可能错误地传递了一个数组(或对象类型),而您确实想插入一个字符串。

例如:

        ...
        aSheet.appendRow([["hello world"]]);

将“ Java.Lang.Object”附加到附加行的第一个单元格中。

正确的API将是:

        ...
        aSheet.appendRow(["hello world"]); // single array