Json4s (Native/Jackson) 忽略所有未知字段
Json4s (Native/Jackson) Ignore all unknown fields
当使用 Json4s 时,很明显您可以显式忽略特定字段。但是,我没有看到任何关于如何忽略所有未知字段的文档。
在 Jackson 中,我会使用以下注释:
import com.fasterxml.jackson.annotation._
@JsonIgnoreProperties(ignoreUnknown=true)
case class MyClass(string: String)
如何使用 Json4s 的 Jackson 或 Native 版本执行此操作?
我不太确定,如果我在这里找到你,但默认情况下 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)
这很好用。
当使用 Json4s 时,很明显您可以显式忽略特定字段。但是,我没有看到任何关于如何忽略所有未知字段的文档。
在 Jackson 中,我会使用以下注释:
import com.fasterxml.jackson.annotation._
@JsonIgnoreProperties(ignoreUnknown=true)
case class MyClass(string: String)
如何使用 Json4s 的 Jackson 或 Native 版本执行此操作?
我不太确定,如果我在这里找到你,但默认情况下 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)
这很好用。