Json4s 忽略 @JsonProperty jackson 注释

Mik*_*nte 5 scala jackson json4s

我有这个代码

import com.fasterxml.jackson.annotation.JsonProperty
import org.json4s.DefaultFormats
import org.json4s.jackson.Serialization.{read, write}

object Testing extends App {
    implicit val formats = DefaultFormats
    val json =
            """
              |{
              |"1strange_field_name":"name"
              |}
            """.stripMargin
    println(read[Test](json))
}

case class Test(@JsonProperty("1strange_field_name") testName: Option[String])
Run Code Online (Sandbox Code Playgroud)

它应该打印 Test(Some(name)) 但它打印 Test(None)。这是由于 json4s 没有使用 @JsonProperty 注释造成的。有没有办法配置 json4s 以使用 jackson 注释?

Mik*_*nte 0

我发现解决这个问题的最简单方法是使用确切的字段名称 ``

case class Test(`1strange_field_name`: Option[String])
Run Code Online (Sandbox Code Playgroud)