召唤编码器[OneAnd [NonEmptyList,Int]]?

时间:2018-06-25 18:42:18

标签: scala scala-cats circe

给出:

@ import $ivy.`io.circe::circe-core:0.9.3` 
import $ivy.$                           

@ import $ivy.`io.circe::circe-generic:0.9.3` 
import $ivy.$                              

@ import cats._, cats.data._, io.circe._, io.circe.Encoder._, io.circe.Decoder._ 
import cats._, cats.data._, io.circe._, io.circe.Encoder._, io.circe.Decoder._

@ val x: OneAnd[NonEmptyList, Int] = OneAnd(1, NonEmptyList(2, Nil)) 
x: OneAnd[NonEmptyList, Int] = OneAnd(1, NonEmptyList(2, List()))

@ import io.circe.syntax._ 
import io.circe.syntax._

@ x.asJson 
cmd5.sc:1: could not find implicit value for parameter encoder: io.circe.Encoder[cats.data.OneAnd[cats.data.NonEmptyList,Int]]
val res5 = x.asJson
             ^
Compilation Failed

也许我想使用https://github.com/circe/circe/blob/58107ee7c82769f56e5cd932c21493dfe239b6d6/modules/core/shared/src/main/scala/io/circe/Encoder.scala#L343-L350import错过了一个Encoder#encodeOneAnd

请让我知道如何解决。

谢谢

1 个答案:

答案 0 :(得分:1)

添加导入

import io.circe.generic.auto._

为我解决了。希望这会有所帮助。