Json4s(Native / Jackson)忽略所有未知领域

时间:2015-08-05 23:23:56

标签: json scala jackson json4s

使用Json4s时,很明显可以明确忽略特定字段。但是,我没有看到任何关于如何忽略所有未知字段的文档。

在杰克逊,我会使用以下注释:

import com.fasterxml.jackson.annotation._

@JsonIgnoreProperties(ignoreUnknown=true)
case class MyClass(string: String)

如何使用Jackson或Native版本的Json4s进行此操作?

1 个答案:

答案 0 :(得分:4)

我不太确定,如果我把你带到这里,但Json4s(至少org.json4s版本)默认会忽略其他字段。

import org.json4s.DefaultFormats
import org.json4s.native.JsonMethods._

implicit val formats = DefaultFormats
case class Mailserver(url: String, username: String, password: String)

val json = parse(
"""
  {
    "url": "imap.yahoo.com",
    "username": "myusername",
    "password": "mypassword",
    "additional": "field"
  }
"""
)

val m = json.extract[Mailserver]
println(m.url)
println(m.username)
println(m.password)

这很好用。