Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scalatra JSON指南代码未编译_Scala_Scalatra - Fatal编程技术网

Scalatra 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

我复制了以下JSON格式指南中的说明:

下面是MyScalatraServlet.scala文件,其中包含了我为测试JSON格式而嵌入的所有代码:

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”。