我正在尝试将case类转换为jsonspray.io json。下面的代码:
case class Value(amt: Int)
case class Item(name: String, count: Value)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val itemFormat = jsonFormat2(Item)
}
import MyJsonProtocol._
import spray.json._
val json = Item("mary", Value(2)).toJson
println(json)
Run Code Online (Sandbox Code Playgroud)
给出:
could not find implicit value for evidence parameter of type onextent.bluecase.examples.ex1.ExampleJson2.MyJsonProtocol.JF[Value]
Run Code Online (Sandbox Code Playgroud)
我也尝试JsonProtocol为Value 定义一个值,但得到相同的值。搜索stackoverflow我只看到与相关的错误generics,但不是。
我想念什么?(现在重新阅读有关隐式的信息...)
小智 6
您的Value类需要一个json格式,因为它是Item类的一部分。因此,您的对象将需要如下所示:
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val valueFormat = jsonFormat1(Value)
implicit val itemFormat = jsonFormat2(Item)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1667 次 |
| 最近记录: |