gpt4 book ai didi

json - spray-json JsonFormat 案例类

转载 作者:行者123 更新时间:2023-12-04 18:36:19 24 4
gpt4 key购买 nike

我在尝试为通用案例类实现 JsonFormat 对象时遇到了这个问题。这是我的课:

case class SimpleQuery[T](field : String, op : Operator, value : T) extends Query{
def getType = ????
}

我正在尝试使用 spray json 的 github 页面提示的格式:

implicit def SimpleQueryJsonFormat[A <: JsonFormat] = jsonFormat4(SimpleQuery.apply[A])

但是我得到了这个编译器错误

trait JsonFormat takes type parameters

来自 spray-json github 页面的示例如下:

case class NamedList[A](name: String, items: List[A])

object MyJsonProtocol extends DefaultJsonProtocol {
implicit def namedListFormat[A :JsonFormat] = jsonFormat2(NamedList.apply[A])
}

这看起来和我的很相似。

我还将在 github 页面中打开一个问题。

提前致谢

最佳答案

我认为您可能混淆了 <::在定义的类型参数中。

在你的,[A <: JsonFormat]表示“A 扩展 JsonFormat ”。

在示例中,[A :JsonFormat]表示“A 带有隐含的 JsonFormat[A] ”。它与要求隐式(但未命名)参数相同,例如 implicit aFormat: JsonFormat[A] .这是格式化 value: T 所必需的你类(class)的一部分。

TL;DR,尝试切换 <::

关于json - spray-json JsonFormat 案例类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26485950/

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