如何使用java生成json实现隐藏掉关键属性
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,小编给大家分享一下如何使用java生成json实现隐藏掉关键属性,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!java生成json隐藏关键属性今天在工作中遇到一个这样的问题,当后端返
千家信息网最后更新 2025年01月20日如何使用java生成json实现隐藏掉关键属性
小编给大家分享一下如何使用java生成json实现隐藏掉关键属性,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
java生成json隐藏关键属性
今天在工作中遇到一个这样的问题,当后端返回数据时一些关键信息或敏感信息并不想返回到前端,但是又懒得定义专用的DTO返回怎么办(强烈不推荐,最好定义专用的DTO返回),比如一张用户表有属性有用户名、密码、昵称、头像、性别、个人简介,用@ResponseBody生成json直接用户名和密码都输出到前台展示了,用户名和密码这两个属性怎么隐藏掉。
我们项目中使用的是Spring Boot,默认用的是Jackson做JSON的serialization/deserialization。
因此解决方案如下
用@JsonIgnore或@JsonProperty注解就可以了
private String password; @JsonIgnorepublic String getPassword(){}
或者
@JsonProperty(access = Access.WRITE_ONLY)private String password;
其实方法还有很多,例如还可以写过滤器来实现,如果你使用的是FastJson转Json字符串,想要忽略指定属性可以使用注解@JSONFie 。
例如:
public class FastJsonInputBean implements Serializable { private String contractTemplateId; private String contractId; @JSONField(serialize = false) private String contractImage; private String contractVersion; }
java实体转json忽略属性
import com.alibaba.fastjson.annotation.JSONField;
fastjson 过滤指定字段
@JSONField(serialize=false)private String message;
序列化的时候就不会包含这个字段。
另外, 你从一个bean中只取一个字段,没必要这样做,你完全可以定义一个新的bean。
@JsonIgnoreProperties(value={"addressId"})//在解析成json时,忽略子属性的addressId字段public class DicType {private String addressId;}
@JsonIgnoreprivate String img;
看完了这篇文章,相信你对"如何使用java生成json实现隐藏掉关键属性"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
属性
关键
生成
字段
密码
用户
信息
注解
用户名
篇文章
专用
必要
两个
个人
个人简介
前台
前端
头像
字符
字符串
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
奉贤区软件开发系统
软件开发 bug合格率
北纬三零网络技术
郑州声光电法治文化展馆软件开发
禁用smb服务器
网络安全技术专业能考研吗
网络安全管理体系的建立
销售软件开发有前途吗
一个县的网络安全规划
学软件开发技术需要啥条件
电信架设服务器国外无法访问
哪儿个专业学数据库应用
软件开发语言 排行
查询数据库表的所有字段名
计算机网络技术考多久
目前数据库技术热点
国内网络安全高科技企业
网络安全和信息技术的区别
血肉之躯筑网络安全防线
台州软件开发者
数据库给表名取别名
吉林软件开发系统
三国杀服务器登录错误是什么原因
福州人员服务管理软件开发
服务器可以放几台
网络安全主题教育文案
云为智合网络技术有限公司
攻击学校数据库修改成绩
中国济南网络安全高峰论坛
2013中标达梦数据库 中标