将一串字符串从Groovy传递给Javascript

时间:2016-07-12 13:07:39

标签: javascript arrays groovy quotes

我正在我的Groovy代码中构建一个字符串数组,并希望将数组传递给我的代码中包含的JavaScript脚本。 但是,Groovy并没有像Javascript期望的那样将数组中的字符串放入引号中。我使用GStrings传递数组:

var strains = ${strainNames};

JavaScript将其评估为:

var strains = [pseudomonas_aeruginosa_D421, pseudomonas_aeruginosa_OC2E, pseudomonas_aeruginosa_EA0A, pseudomonas_aeruginosa_0812];

有没有办法为每个元素添加引号,还是我必须在Groovy代码中添加它们?

2 个答案:

答案 0 :(得分:1)

你可以改变:

var strains = ${strainNames};

var strains = ${strainNames.inspect()};

答案 1 :(得分:0)

您可以尝试将其包含为字符串并将其转换为数组:

var strains = "${strainNames}"
  .slice(1, -1)  // Remove brackets
  .split(", ");   // Split at separators