2013-05-12 47 views
7

當轉換字符串的斯卡拉列表與播放模板引擎字符串的JavaScript數組,你可能有這樣的事情開始...Scala Play - 如何將Scala字符串列表轉換爲javascript字符串數組(避免"問題)?

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

...並會發現,這是不工作,因爲字符串周圍的引號缺失。接下來,你可以嘗試這樣的事情...

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

...才發現,這將包裹字符串",而不是"。我是能夠使這項工作的唯一途徑是與...

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

...和我的問題是:這是做到這一點的最好/唯一途徑?

回答

5

可以依靠Json.toJson()方法使

@import play.api.libs.json._ 

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

不要忘記@Html轉換。

@Html(Json.stringtify(Json.toJson(Scala object))) 
相關問題