gpt4 book ai didi

json - 无法使用 "writes"将通用案例类转换为 json

转载 作者:行者123 更新时间:2023-12-03 03:22:46 24 4
gpt4 key购买 nike

我有一个类,我希望能够将其转换为 json:

case class Page[T](items: Seq[T], pageIndex: Int, pageSize: Int, totalCount: Long)

object Page {

implicit val jsonWriter: Writes[Page[_]] = Json.writes[Page[_]]
}

错误是未找到与未应用参数匹配的应用函数

最佳答案

您可以为通用案例类Page[T]定义Format[Page[T]],如下所示:

import play.api.libs.json._
import play.api.libs.functional.syntax._

implicit def pageFormat[T: Format]: Format[Page[T]] =
((__ \ "items").format[Seq[T]] ~
(__ \ "pageIndex").format[Int] ~
(__ \ "pageSize").format[Int] ~
(__ \ "totalCount").format[Long])(Page.apply, unlift(Page.unapply))

虽然此解决方案需要更多输入,但它可以使您的案例类 Page[T] 远离隐式参数列表,或者需要定义 Page[T] 的具体子类。

关于json - 无法使用 "writes"将通用案例类转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374060/

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