如何使用java生成json实现隐藏掉关键属性
发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,小编给大家分享一下如何使用java生成json实现隐藏掉关键属性,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!java生成json隐藏关键属性今天在工作中遇到一个这样的问题,当后端返
千家信息网最后更新 2024年12月02日如何使用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安全错误
数据库的锁怎样保障安全
舟山企业软件开发总结
网络安全密匙关键字
互联网公司算科技企业吗
巩义市通美网络技术服务有限责任公司诈骗
海外赌博 网络安全法
如何新建数据库实例
智慧物流通信与网络技术应用
数据库教程参考文献
神武服务器限制
局域网服务器有带宽限制吗
南京应用软件开发价格
tp5切换数据库模型查询
重型软件开发方法缺点
南京聚铭网络安全标准化
服务器可以查到用户浏览记录吗
网络安全和产业联盟
生产安全风险数据库模板
广州小八互联网科技有限公司
宁波市网络安全应急预案
滁州网络安全和信息化
网络安全法与公安
数据库能存map吗
存储服务器能装多少块硬盘
服务器地址 找
贵州省的网络安全态势分析
大学生网络安全调查问题
网络安全电脑图片素材
北京商旅假日网络技术有限公司
做工控软件开发学什么东西
网络安全a类是什么