Neu*_*ino 5 scala json4s json-deserialization
如何将带有下划线的json映射到案例类中的camelCase字段?
import org.json4s.jackson.JsonMethods.parse
import org.json4s.DefaultFormats
object Testing {
implicit val formats = DefaultFormats.withBigDecimal
def test = {
val json = parse("""{"some_field":"a value"}""")
json.extract[ThingDTO]
}
}
case class ThingDTO(someField:String)
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
someField没有可用值没有找到可以转换为java.lang.String的值
它似乎没有被记录(或者至少我在寻找它时错过了它),但是现在有一种camelizeCase方法可以在解析的Json上使用.我在源代码中偶然发现了它,给了我一些与我一起工作的Json蛇案例,并且看到了得到了骆驼的关键名字.
因此,对于每年遇到此问题的任何人来说,将OP的代码更改为以下内容将起作用:
import org.json4s._
import org.json4s.DefaultFormats
import org.json4s.native.JsonMethods._
object Testing {
implicit val formats = DefaultFormats.withBigDecimal
def test = {
val json = parse("""{"some_field":"a value"}""").camelizeKeys
json.extract[ThingDTO]
}
}
case class ThingDTO(someField:String)
Run Code Online (Sandbox Code Playgroud)