首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Jackson:如何防止字段序列化

Jackson:如何防止字段序列化
EN

Stack Overflow用户
提问于 2012-02-02 13:10:42
回答 9查看 146K关注 0票数 176

我有一个带有密码字段的实体类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class User {
    private String password;

    //setter, getter..
}

我希望在序列化过程中跳过此字段。但它仍然应该能够反序列化。这是必需的,以便客户端可以向我发送新密码,但不能读取当前密码。

我该如何和Jackson一起完成这个任务呢?

EN

回答 9

Stack Overflow用户

发布于 2012-02-02 13:51:12

您可以将其标记为@JsonIgnore

在1.9版本中,您可以为getter添加@JsonIgnore,为setter添加@JsonProperty,以使其反序列化但不序列化。

票数 198
EN

Stack Overflow用户

发布于 2012-10-03 04:09:51

为了说明StaxMan所说的,这对我是有效的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private String password;

@JsonIgnore
public String getPassword() {
    return password;
}

@JsonProperty
public void setPassword(String password) {
    this.password = password;
}
票数 101
EN

Stack Overflow用户

发布于 2013-02-21 15:48:03

最简单的方法是注释getter和setter。

以下是修改后的原始示例,以排除纯文本密码,但随后注释了一个新方法,该方法只是将密码字段作为加密文本返回。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class User {

    private String password;

    public void setPassword(String password) {
        this.password = password;
    }

    @JsonIgnore
    public String getPassword() {
        return password;
    }

    @JsonProperty("password")
    public String getEncryptedPassword() {
        // encryption logic
    }
}
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9112900

复制
相关文章
如何基于jackson动态序列化指定字段
把对象序列化为json字符串输出的库很多,本文我们来看如何基于jackson动态控制哪些属性需要进行序列化。
加多
2020/08/11
2K0
扩展序列化(jackson module)
Module 接口可以自定义实现一些三方类,无默认构造函数的对象,或自定义一些序列化实现。
乐事
2021/07/22
1.4K0
Jackson - LocalDateTime序列化探索
在Java开发中,涉及Json序列化及反序列化的情况有很多,最常见的就是SpringBoot/SpringCloud项目中HTTP/Rest接口的传参。其中经常会涉及到时间类型LocalDateTime的序列化和反序列化,这里经常会因为序列化失败,导致接外部接口调用或Feign调用失败。
夹胡碰
2021/06/17
3.7K0
Jackson - LocalDateTime序列化探索
jackson 序列化忽略未知字段: How to Ignore Unknown Properties While Parsing JSON in Java
使用 Jackson API 在Java中解析JSON时的一个常见问题是,当JSON包含未知属性时,即Java类没有与所有JSON属性对应的所有字段时,解析失败。
一个会写诗的程序员
2021/07/23
3.9K0
SpringCloud - Jackson序列化LocalDateTime
SpringCloud开发中,Jackson作为默认的序列化器,在跨服务调用过程中,序列化LocalDateTime时常发生格式不一致问题,下面将对SpringCloud中Jackson的序列化方式及源码进行分析。
夹胡碰
2021/06/17
3K0
SpringCloud - Jackson序列化LocalDateTime
jackson序列化时区问题
排查发现是Jackson指定时区问题,原先用的GMT+8,但数据库是Asia/Shanghai
阿超
2023/02/20
1.1K0
jackson序列化时区问题
fastjson如何指定字段不序列化
fastjson是一款由阿里巴巴提供的性能出色的json序列化与反序列化库,而且使用很方便,我们可以使用JSON.toJSONString(object)将一个对象序列化为json格式,但是如果我们不想把一个类的所有成员都序列化怎么办呢。
johnhuster的分享
2022/03/28
2.4K0
Jackson 之 LocalDateTime 序列化与反序列化
在 Java 8 中对 LocalDateTime、LocalDate 的序列化和反序列化有很多种操作
玖柒的小窝
2021/10/31
5K0
如何通过Jackson注解@JsonTypeInfo解决多态反序列化问题?
Jackson是Spring Boot(SpringBoot)默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库。有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制。
码农架构
2021/06/13
5.6K0
如何通过Jackson注解@JsonTypeInfo解决多态反序列化问题?
Jackson 反序列化原理浅析
在练习使用Axios传post时发现默认使用的是json传参,而servlet提供的getParameter(String s)方法无法解析这种语法,因此了解到Jackson,对其的序列化与反序列化原理很感兴趣,所以浅析一下其原理。
MashiroT
2022/10/28
1.1K0
Jackson 反序列化原理浅析
Jackson 反序列化 Map 集合
仅仅使用 objectMapper.readValue(xxxxx, Map.class) 时,如果原始集合使用了泛型,idea会给出警告 未检查的赋值: 'java.util.Map' 赋值给 'java.util.Map<java.lang.String,java.lang.String>'
MashiroT
2022/10/28
8820
设置Springboot返回jackson数据序列化
LocalDateTime格式化 使用下面的配置相当于全局配置就不需要给字段添加@JsonFormat(pattern = DateUt.YYYY_MM_DD_HH_MM_SS) 如果个别字段需要不同的配置可使用@JsonFormat(pattern = DateUt.YYYY_MM_DD),@JsonFormat会优先使用,反序列化亦可使用@JsonFormat注解
FHAdmin
2021/08/25
8770
Jackson序列化LocalDate与Springboot集成
Java8的date API一经推出便广受好评,今日也准备用一用,然后就用出问题了。基本用法见https://www.cnblogs.com/woshimrf/p/java8-date-api.html
Ryan-Miao
2018/08/01
1.4K0
jackson反序列化失败异常总结
存在冲突的访问器方法,Conflicting setter definitions for property “myproperty” 例如: class TypeA extends TypeB implements InfC {} class TypeB { String myproperty; String getMyproperty(){return myproperty}; void setMyproperty(String value){myproperty = value}; } int
路过君
2020/06/19
1.3K0
Jackson 的 SNAKE_CASE 反序列化
最近项目中有关 JSON 的序列化和反序列化中,我们遇到了一个问题就是 category_id 我们在定义对象的时候使用的是 categoryId。
HoneyMoose
2023/10/07
4080
Jackson 的 SNAKE_CASE 反序列化
利用Jackson序列化实现数据脱敏
几天前使用了Jackson对数据的自定义序列化。突发灵感,利用此方法来简单实现接口返回数据脱敏,故写此文记录。
EalenXie
2021/10/15
2.2K0
jackson反序列化器获取类型
例如这里使用hutool的EnumUtil.getEnumAt传入枚举的ordinal,以及枚举类型,获取到具体的枚举常量值
阿超
2023/01/13
8530
Jackson 序列化对象为 CSV 文件
Jackson 序列化对象为 CSV 文件 依赖 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-csv --> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-csv</artifactId> <versi
MashiroT
2022/11/14
7200
MessagePack Java Jackson Dataformat - Map 的序列化和反序列化
本测试方法,可以在 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java 中找到。
HoneyMoose
2019/08/10
5350
MessagePack Java Jackson Dataformat - POJO 的序列化和反序列化
在本测试代码中,我们定义了一个 POJO 类,名字为 MessageData,你可以访问下面的链接找到有关这个类的定义。
HoneyMoose
2019/08/09
5940

相似问题

Jackson:如何防止字段序列化(同时保持反序列化)

25

隐藏受保护的字段以防止Jackson序列化

28

Jackson不序列化字段

19

Jackson序列化:环绕字段

36

如何使用jackson序列化瞬态字段?

45
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文