8

当使用 Play 模板引擎将 Scala 字符串列表转换为 javascript 字符串数组时,您可能会从这样的内容开始......

var strArray = [@scalaListOfStrings.mkString(",")];

...并且会发现这不起作用,因为缺少字符串周围的引号。接下来你可能会尝试这样的事情......

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

...只是发现这会将字符串包裹在"而不是"。我能够完成这项工作的唯一方法是......

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

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

4

2 回答 2

5

您可以依靠 Json.toJson() 方法进行转换

@import play.api.libs.json._

var strArray = @Json.stringify(Json.toJson(List("hello", "world", "everybody")))
于 2013-05-12T09:19:06.777 回答
3

不要忘记@Html。

@Html(Json.stringtify(Json.toJson(Scala object)))
于 2013-10-15T16:02:24.073 回答