2016-01-07 38 views
-1

在java中,我用jackson和Gson注释,Play中是否有类似的东西?它迫使我除了我的类来创建这样的另一个对象:玩框架:如何序列化/反序列化从/到斯卡拉的JSON

implicit val payloadRead : Reads[payload] = (
     (JsPath \ "act").read[String] and 
     (JsPath \ "sk").read[Int] and 
     (JsPath \ "uid").read[String] and 
     (JsPath \ "ft").read[String] and 
     (JsPath \ "lt").read[String] and 
     (JsPath \ "em").read[String] and 
     (JsPath \ "nts").read[String] and 
     (JsPath \ "ugr").read[Int] 
) (payload.apply _) 

回答

3

Play不会提供宏产生上述的你,如:

implicit val payloadRead = Json.reads[payload] 

here的文档。

也就是说,Play的json支持的一个很好的特性就是显式的。与杰克逊相比,您可以非常容易地以更灵活的方式组合和重用解析器。对杰克逊来说,你并不真正了解自己在做什么,它正在做很多反思来访问你的课程,这对你来说是完全不透明的。相反,在Play的json支持中没有使用反射,因此您可以完全控制。