Scala Play - 如何将Scala字符串列表转换为JavaScript字符串数组(避免出现“"”问题)?

8
当将一个Scala字符串列表转换为Javascript字符串数组时,使用Play模板引擎,您可能会从以下内容开始...
var strArray = [@scalaListOfStrings.mkString(",")];

...并且您会发现这不起作用,因为字符串周围缺少引号。接下来,您可以尝试像这样的内容...

var strArray = [@scalaListOfStrings.map(s => "\"" + s + "\"").mkString(",")];

我发现,如果使用 " 包裹字符串而不是 ",那么这将会导致问题。我唯一能够让其工作的方法是通过 ...

var strArray = [@Html(scalaListOfStrings.map(s => "\"" + s + "\"").mkString(","))];

...我的问题是:这是最好/唯一的方法吗?

2个回答

5
你可以依靠 Json.toJson() 方法进行转换。
@import play.api.libs.json._

var strArray = @Json.stringify(Json.toJson(List("hello", "world", "everybody")))

3
不要忘记@Html。
@Html(Json.stringtify(Json.toJson(Scala object)))

stringify 还是 stringtify?你在使用哪些导入?抱歉打扰了,我只是路过,试图让一些东西工作起来,但这段代码在 Scala Play 2.2.2 中无法运行。顺便问一下:Html 需要导入吗? - Victor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接