Json4s 忽略@JsonProperty jackson 注解
Json4s ignores @JsonProperty jackson annotations
我有这个代码
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])
我有这个代码
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])