json - 案例类列表的akka-http隐式json格式
问题描述
我要 ro 做出回应
val res: List[Categories] = CategoryObj.getCategories
complete(OK, res)
我写了一个隐式的 json 格式
implicit val jsCat = jsonFormat3(Category)
implicit val jsCats = jsonFormat1(Seq[Category])
但是对于第二行,我遇到了三个错误
错误:(8, 25) 推断类型参数 [Seq[DAO.Category],Seq[DAO.Category]] 不符合方法 jsonFormat1 的类型参数边界 [P1,T <: Product] 隐式 val jsCats = jsonFormat1(Seq[类别])
错误:(8, 40) 类型不匹配;found : Seq[DAO.Category] => Seq[DAO.Category] required: P1 => T 注意:隐式值 jsCats 在此处不适用,因为它位于应用程序点之后,并且缺少显式结果类型implicit val jsCats = jsonFormat1 (序列[类别])
错误:(8, 36) 找不到 spray.json.DefaultJsonProtocol.JF[P1] 类型的证据参数的隐式值(找不到 P1 的 JsonWriter 或 JsonFormat 类型类)隐式 val jsCats = jsonFormat1(Seq[Category])
而且我不知道如何处理它们
解决方案
Seq[Category]
显然不是Product
inferred type arguments [Seq[DAO.Category],Seq[DAO.Category]] do not conform to method jsonFormat1's type parameter bounds [P1,T <: Product]
而案例类是Product
.
在https://developer.lightbend.com/guides/akka-http-quickstart-scala/json.html它是这样写的
implicit val usersJsonFormat = jsonFormat1(Users)
final case class Users(users: immutable.Seq[User])
iejsonFormat1
应用于包装 a 的案例类Seq
,而不是应用于Seq
自身。
推荐阅读
- reporting-services - 添加多个 IIF 语句 SSRS
- python - 重命名 Pandas 中聚合函数的结果
- nosql - 在 DynamoDB 中,如何获取一些具有多个条件的数据(order by 和 limit)
- python - 在 anaconda 中,pythonw.exe 没有出现在我的目录中。我能做些什么?
- xml - ASP XML按特定节点值选择节点?
- arrays - 通过嵌套的 Firebase 数据循环 Swift 填充数组
- google-analytics - 使用谷歌分析 api 获取登陆页面的直接转化次数和辅助转化次数
- three.js - 在 Three.JS 中为场景添加最大移动到 onMouseMove
- matlab - 有没有办法使用 Matlab 将多个文本文件中的列组合成一个文本文件?
- azure-ad-b2c - 为什么 SSO 对于 Azure AD B2C 自定义策略无法正常工作