如何在此示例代码中正确使用JSON.parse(字符串到数组)?

时间:2014-02-01 14:06:26

标签: javascript google-apps-script

我正在尝试将数组存储在StriptProperties中,将其转换为字符串并以此方式恢复:

var personDataArr = ["Adam", "male", "programmer"];
function myFunction() {
  var personDataStr = JSON.stringify(personDataArr);
  ScriptProperties.setProperty('personData', personDataStr);
  var personData = ScriptProperties.getProperty('personData');
  personData = JSON.parse("[" + personData + "]");
  Logger.log("personData[0] = " + personData[0]);
}

但是当我记录Logger.log("personData[0] = " + personData[0]);时,我得到personData[0] = Adam,male,programmer而不是Adam。为什么?相反,如何获得数组的第一个元素?

1 个答案:

答案 0 :(得分:2)

您需要从[]函数中删除方括号(JSON.parse):

personData = JSON.parse( personData );

这是因为你创建了多维数组,它在最终结果中看起来像:

[["Adam", "male", "programmer"]]

这就是为什么该数组的0索引为您返回Array而不是Adam

的原因