Scalatra Code:
import org.scalatra._
import org.json4s.{DefaultFormats, Formats}
import org.scalatra.json._
class AppServlet extends AppStack with JacksonJsonSupport{
protected implicit lazy val jsonFormats: Formats = DefaultFormats
private def generateJSON():((String, String),(String, String)) = {
val json = ("Firstname" -> "joe", "LastName" -> "cole")
json
}
before() {
contentType = formats("json")
}
get("/") {
generateJSON
}
}
我正在尝试使用 scalatra 框架返回简单的 json,输出类似于这样{"_1":{"Firstname":"joe"},"_2":{"LastName":"cole"}}
。我不需要打印 _1 或 _2。请注意,我没有尝试返回任何对象。我只需要制作自己的 json,然后返回它。它不与任何数据模型关联。任何帮助,不胜感激。
你创建的是一个(String, String)
元组,输出是这样的也就不足为奇了。您应该创建一个 case 类,或者,由于您使用 json4s
,返回:
// don't forget this:
// import org.json4s.JsonDSL._
("Firstname" -> "joe") ~ ("LastName" -> "cole")
import org.scalatra._
import org.json4s.{DefaultFormats, Formats}
import org.scalatra.json._
import org.json4s._
import org.json4s.JsonDSL._
class AppServlet extends AppStack with JacksonJsonSupport{
protected implicit lazy val jsonFormats: Formats = DefaultFormats
private def generateJSON():JObject = {
val json = ("Firstname" -> "joe") ~ ("LastName" -> "cole")
json
}
get("/") {
generateJSON
}
}