play 2.6.x 中的json处理函数中的一个定义不会解读

分享 未结
0 0 3 10
arron 2017-11-17发布
收藏 点赞
def fromJson[T](json: JsValue)(implicit fjs: Reads[T]): JsResult[T] = fjs.reads(json)


各个大大,请问下这个定义是怎么解读的,只知道后面是个隐式参数fromJson[T] 是个什么意思啊?

回帖
  • 2017-11-18

    T是类型参数,可以为编译器提供类型信息。

    case class Person(name: String, age: Int)
    
    object Test {
      implicit val personFormat = Json.format[Person]
    
      def main(args: Array[String]): Unit = {
        val jsObj = Json.obj("name" -> "playscala", "age" -> 30)
        val p1 = Json.fromJson[Person](jsObj).get
        val p2 = jsObj.as[Person]
    
        println(p1) // 输出:Person(playscala,30)
        println(p2) // 输出:Person(playscala,30)
      }
    }
    
    0 回复
  • 2017-11-18

    谢谢@小编,查了一下参数类型化,对这个有些明白了。非常感谢,愿社区越来好!

    0 回复
  • 2017-11-19

    @arron 谢谢,常来哦

    0 回复