使用json4s在under_score和camelCase格式之间进行选择

时间:2014-08-06 19:29:08

标签: scala json-deserialization json4s

如何将带有下划线的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)

我得到的错误:

  

someField没有可用的值没有找到可以的值   转换为java.lang.String

2 个答案:

答案 0 :(得分:8)

它似乎没有被记录(或者至少我在寻找它时错过了它),但是现在有一个NA方法可以在解析的Json上使用。我在源代码中偶然发现了它,给了我一些与我一起工作的Json蛇案例,并且看到了得到了骆驼的关键名字。

因此,对于每年遇到这个问题的人来说,将OP的代码更改为以下内容将会起作用:

camelizeCase

答案 1 :(得分:0)

目前,我认为唯一的选择是使用后退刻度或变换函数。请在“提取值部分”中的http://json4s.org/处查看。

祝你好运