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

Rol*_*sch 8 javascript scala playframework-2.0

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

var strArray = [@scalaListOfStrings.mkString(",")];
Run Code Online (Sandbox Code Playgroud)

...并且会发现这不起作用,因为缺少字符串周围的引号.接下来你可以试试这样的东西......

var strArray = [@scalaListOfStrings.map(s => "\"" + s + "\"").mkString(",")];
Run Code Online (Sandbox Code Playgroud)

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

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

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

Jul*_*ont 5

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

@import play.api.libs.json._

var strArray = @Json.stringify(Json.toJson(List("hello", "world", "everybody")))
Run Code Online (Sandbox Code Playgroud)