使用Json4s时,很明显可以明确忽略特定字段。但是,我没有看到任何关于如何忽略所有未知字段的文档。
在杰克逊,我会使用以下注释:
import com.fasterxml.jackson.annotation._
@JsonIgnoreProperties(ignoreUnknown=true)
case class MyClass(string: String)
如何使用Jackson或Native版本的Json4s进行此操作?
答案 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)
这很好用。