【发布时间】:2019-12-27 06:33:06
【问题描述】:
我正在开发的应用程序必须从数据源解码 json,对于给定字段,该数据源可能返回 List[String] 或 List[Double]。我想将此 json 解码为案例类,以便处理数据。
[{
"id": 123,
"latlng": ["-12.777", "18.776"]
}, {
"id": 123,
"latlng": [-12.777, 18.776]
}]
我正在使用 circe 0.11.1
目前我的案例类看起来像
case class Report(id:Int, latlng:Either[List[String],List[Double]])
还有我的解码代码
decode[List[Report]](testData)
我收到错误提示
DecodingFailure at [0].latlng: [A, B]Either[A, B]
【问题讨论】:
-
我能够通过使用 List[Double] 解决问题,工作代码是 case class Report(id:Int, latlng:List[Double])。