使用Scala.js中的Prickle解析Play 2 json形式错误

时间:2016-06-28 01:23:13

标签: scala playframework scala.js

我正在尝试将带有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。

如何修复此问题?

0 个答案:

没有答案