Jae*_*Lim 5 json scala ignore jackson json4s
我正在使用json4s-jackson(版本3.2.11).
我试图使用注释忽略字段(如jackson java版本).
这是例外:
case class User(id: Long, name: String, accessToken: String)
Run Code Online (Sandbox Code Playgroud)
以下代码无效.
@JsonIgnoreProperties(Array("accessToken"))
case class User(id: Long, name: String, @JsonProperty("accessToken") accessToken: String)
Run Code Online (Sandbox Code Playgroud)
在json4s中,您可以提供字段序列化程序的实例,可以将其配置为忽略或重命名字段.查看文档以获取更多详细信息,但以下内容应该有效:
case class User(id: Long, name: String, accessToken: String)
val userSerializer = FieldSerializer[User](
FieldSerializer.ignore("accessToken")
)
implicit val formats = DefaultFormats + userSerializer
Run Code Online (Sandbox Code Playgroud)
您可以编写一个实用方法,将要删除的键作为默认参数,如下所示,
def removeKeys(entity:AnyRef, keys: List[String]=List("accessToken", "key1", "key2")): String= {
compact(Extraction.decompose(entity).removeField { x => keys.contains(x._1)})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1954 次 |
| 最近记录: |