scala - Json4s 忽略 @JsonProperty jackson 注释

标签 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])

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

最佳答案

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

case class Test(`1strange_field_name`: Option[String])

关于scala - Json4s 忽略 @JsonProperty jackson 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907096/

相关文章:

Mongodb 文档到 Scala 案例类

scala - 匹配 Akka 中的值类

java - 使用 Jackson 在 JSON 中插入和删除内部节点?

java - 反序列化期间重复的字段

scala - 使用 json4s 反序列化嵌套多态 json 字段

java - 如何构造具有自定义数字和不同延迟的 Observable?

scala - 无法编译 scrooge thrift 插件生成的源代码

java - Jackson JSON 反序列化为 java.util.Date 不起作用

json - Spark + Json4s 序列化问题

json - 使用 JSON4S 在重复节点上合并/组合 JSON