如何将带下划线的 json 映射到 case 类中的 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)
我得到的错误:
No usable value for someField Did not find value which can be converted into java.lang.String
请您参考如下方法:
它似乎没有记录(或者至少我在寻找它时错过了它),但现在有一个 camelizeCase
您可以在解析的 Json 上使用的方法。我在源代码中偶然发现了它,用我正在使用的一些蛇形案例 Json 试了一下,瞧,得到了 Camel 键名。
因此,对于一年后遇到此问题的任何人,将 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)