将 json 转换为其他类型应该很容易。从戏剧!文档:
var str = "{\"next_cursor\":0,\"ids\":[123123,345345],\"previous_cursor\":0}"
var fol = Json.parse(str)
var fin = Json.fromJson[List[String]].fromJson(fol)
应该可以正常工作。它编译得很好,但因以下错误而失败:
[RuntimeException: List expected]
相反,这有效:
var str = "{\"next_cursor\":0,\"ids\":[123123,345345],\"previous_cursor\":0}"
var fol = Json.parse(str)
var fin = (fol \ "ids") match {
case ids: JsArray => ids.value.map(_.toString)
case _ => JsArray()
}
为什么?我是否理解 API 有问题?我正在 PlayFramework 2.0.1 中尝试这个。