scala
libraryDependencies += "net.liftweb" %% "lift-json" % "3.4.3"
scala
import net.liftweb.json._
import net.liftweb.json.JsonDSL._
scala
get("/api/data.json") {
contentType = formats("json")
val jsonData = ("key1" -> "value1") ~ ("key2" -> "value2")
compact(render(jsonData))
}
<context-param>
<param-name>org.scalatra.lift-json.streaming</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.scalatra.lift-json.skipnulls</param-name>
<param-value>true</param-value>
</context-param>
scala
import org.scalatra._
import org.json4s.{DefaultFormats, Formats}
import org.scalatra.liftjson._
class MyServlet extends ScalatraServlet with LiftJsonSupport {
protected implicit val jsonFormats: Formats = DefaultFormats
before() {
contentType = formats("json")
}
get("/api/data.json") {
val jsonData = ("key1" -> "value1") ~ ("key2" -> "value2")
jsonData
}
post("/api/submit") {
val requestData = parsedBody.extract[MyData]
// ...
"Success!"
}
}
case class MyData(name: String, age: Int)