gpt4 book ai didi

json - Play Framework :JSON读取单个属性的案例类

转载 作者:行者123 更新时间:2023-12-05 00:38:06 25 4
gpt4 key购买 nike

我正在尝试为包含单个属性的案例类创建一个隐式的JSON Reads,但出现错误“ Reads [Nothing]不符合预期的类型”。这是代码:

import play.api.libs.functional.syntax._
import play.api.libs.json.Reads._
import play.api.libs.json.{JsPath, Json, Reads}

case class Feedback(message: String)
object Feedback {
implicit val reads: Reads[Feedback] = (
(JsPath \ "message").read[String](maxLength[String](2000))
)(Feedback.apply _)
}


为什么这不起作用?如果我将额外的属性添加到case类中,并且多个 .read调用与 and一起加入,那么它将起作用...

最佳答案

Json组合器不适用于单个字段案例类。

您可以执行以下操作:

import play.api.libs.json.Reads._
import play.api.libs.json.{__, Reads}

case class Feedback(message: String)
object Feedback {
implicit val reads: Reads[Feedback] = (__ \ "message")
.read[String](maxLength[String](2000)).map {message => Feedback(message)}
}


这是由于当前Macro实施中的限制。您可以在这里了解更多信息: Pacal is the writer of this API

关于json - Play Framework :JSON读取单个属性的案例类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40786742/

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