Scalatra JSON指南代码未编译
我复制了以下JSON格式指南中的说明: 下面是MyScalatraServlet.scala文件,其中包含了我为测试JSON格式而嵌入的所有代码:Scalatra JSON指南代码未编译,scala,scalatra,Scala,Scalatra,我复制了以下JSON格式指南中的说明: 下面是MyScalatraServlet.scala文件,其中包含了我为测试JSON格式而嵌入的所有代码: package net.example.testapp import org.scalatra._ import scalate.ScalateSupport // JSON-related libraries import org.json4s.{DefaultFormats, Formats} // JSON handling suppor
package net.example.testapp
import org.scalatra._
import scalate.ScalateSupport
// JSON-related libraries
import org.json4s.{DefaultFormats, Formats}
// JSON handling support from Scalatra
import org.scalatra.json._
class MyScalatraServlet extends TestAppStack with JacksonJsonSupport {
get("/") {
FlowerData.all
}
}
// Sets up automatic case class to JSON output serialization, required by
// the JValueResult trait.
protected implicit val jsonFormats: Formats = DefaultFormats
case class Flower(slug: String, name: String)
object FlowerData {
/**
* Some fake flowers data so we can simulate retrievals.
*/
var all = List(
Flower("yellow-tulip", "Yellow Tulip"),
Flower("red-rose", "Red Rose"),
Flower("black-rose", "Black Rose"))
}
编译器似乎不喜欢以下行:
protected implicit val jsonFormats: Formats = DefaultFormats
以下是错误消息:
[error] /Users/test/test-app/src/main/scala/net/example/testapp/MyScalatraServlet.scala:22: expected start of definition
[error] protected implicit val jsonFormats: Formats = DefaultFormats
[error] ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 2 s, completed Jun 17, 2013 4:04:34 PM
>
您的
val jsonFormats
只是有点浮动,没有绑定到类或任何东西。val
需要定义为特征、类或对象等其他构造的一部分。在调用get(“/”)
之前,尝试将其移动到servlet类中,我同意-根据JSON指南,“将[protected implicit val jsonFormats:Formats=DefaultFormats]放置在控制器类定义的正下方,将允许您的控制器自动将Scalatra操作结果转换为JSON”。