gpt4 book ai didi

json - 如何在 Play 框架 v2.0 中呈现 JSON 响应(来自 GIT 的最新版本)

转载 作者:行者123 更新时间:2023-12-03 13:29:01 25 4
gpt4 key购买 nike

我正在尝试做出这样的回应

def doAjax = Action { request =>
object MyResult {
val resultCode = 0
val resultTextMessage = "sss"
}
Ok(Json(MyResult)) // It's not working anymore - not compiling in v2.0!
}

但是如何使用 Play 2.0 将我的对象(MyResult)映射到 JSON?
在使用 scala 模块的 Play 1.0 中,我成功地完成了以下操作:
def dosomeaj = {
object MyResult{
val resultCode = 0
val resultTextMessage = "sss"
}
Json(MyResult) // It's working in 1.0
}

最佳答案

编辑2

Wiki link对于 v2.1。下面的旧链接不再有效。

编辑

对于这一点,我们都会很高兴阅读新的 Wiki 条目。查看this出去

以前的

这是社区关于 play 2.0 中 Json 支持状态的评论。
link to Post

他们正在从 jackson 转向受 SJSON 启发的哲学。它提供了对 un/marshalling 的更多控制,带来了管理它们的设施,而没有反射的开销(我同意他们的观点,这对性能来说是一种痛苦,并且对于类更改很脆弱......)

因此,您可以在帖子中阅读以下内容:

case class Blah(blah: String)

// if you want to directly serialize/deserialize, you need to write yourself a formatter right now
implicit object BlahFormat extends Format[Blah] {
def reads(json: JsValue): Blah = Blah((json \ "blah").as[String])
def writes(p: Blah): JsValue = JsObject(List("blah" -> JsString(p.blah)))

}

def act = Action { implicit request =>
// to get a Blah object from request content
val blah = Json.parse(request.body.asText.get).as[Blah]

// to return Blah as application/json, you just have to convert your Blah to a JsValue and give it to Ok()
Ok(toJson(blah))
}

在第二个链接( SJSON )中,我建议您特别注意使用 case class 可能的通用格式。及其解构方法( unapply)。

关于json - 如何在 Play 框架 v2.0 中呈现 JSON 响应(来自 GIT 的最新版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com