在Play Json中读取snake_case属性为camelCase

Vis*_*ohn 12 playframework playframework-2.0

我想在Play应用程序中提取json作为案例类.case类中的属性在camelCase中定义,json数据在snake_case中.

case class User(userId: Long, userName: String)
Run Code Online (Sandbox Code Playgroud)

和json就像这个{"user_name":"Vishal","user_id":67}

是否有一种简单的方法来指示播放json自动进行映射和提取,例如提供一些注释等.

小智 8

这是一个相当古老的问题,但我没有找到任何答案,所以我去Play JSON Github存储库找到了这个:

implicit val config = JsonConfiguration(SnakeCase)

implicit val userReads: Reads[PlayUser] = Json.reads[PlayUser]
Run Code Online (Sandbox Code Playgroud)

所以,现在似乎存在这样做的官方方式

https://github.com/playframework/playframework/blob/d96d42e4baa2261d0e0a9c36518f6921e247e402/documentation/manual/working/scalaGuide/main/json/code/ScalaJsonAutomatedSpec.scala#L128