我正在尝试将带有Play 2表单错误的JSON转换为Scala.js中的case类。 这是服务器的结果:
{ “obj.comment”:[{ “msg” 中:[ “error.minLength”], “ARGS”:[10]}], “obj.name”:[{ “msg” 中:[“错误。 path.missing “],” ARGS“:[]}]}
以下是Scala.js的代码:
import prickle._
sealed trait Result
case class fmData(name: String, comment: String)
case class MsgData(msg: Array[String], args: Array[Int]) extends Result
case class MyResult(`obj.comment`: Array[MsgData], `obj.name`: Array[MsgData]) extends Result
implicit val resultPickler: PicklerPair[Result] = CompositePickler[Result].concreteType[MsgData].concreteType[MyResult]
尝试执行https://github.com/benhutchison/prickle示例中的所有操作 但是我在编译阶段遇到错误错误:
找不到参数p的隐含值: prickle.Pickler [MsgData] [error]隐式val resultPickler: PicklerPair [结果] = CompositePickler [结果] .concreteType [MSGDATA] .concreteType [MyResult] [错误]
^
无法理解为什么我需要为MsgData提供Pickler。示例中没有concreteType for ApplicType。
如何修复此问题?