我以前见过类似的问题,但没有一个有效。我认为他们会问一些不同的问题,所以我在这里问。我在一个文件中有这样的东西:
sealed trait Thing
case class SomeThing() extends Thing
case class OtherThing() extends Thing
Run Code Online (Sandbox Code Playgroud)
并在另一个文件中:
val str = //valid json
val decoded = decode[Thing](str)
println(decoded)
Run Code Online (Sandbox Code Playgroud)
我得到:
Left(DecodingFailure(...))
Run Code Online (Sandbox Code Playgroud)
如果我这样做,这会起作用:
val str = //valid json
val decoded = decode[SomeThing](str)
println(decoded)
Run Code Online (Sandbox Code Playgroud)