我有JSON请求和响应,我想在日志中打印JSON,但我想避免在日志中打印一些安全字段,我正在尝试屏蔽字段键:例如:
掩蔽前:
{"username":"user1","password":"123456","country":"US","creditCardNumber":"1283-1238-0458-3458"}
后掩蔽
{"username":"user1","password":"XXXXXX","country":"US","creditCardNumber":"XXXXXX"}
我正在使用java Gson lib,请帮助我执行此操作
编辑
我想动态地传递密钥,所以在函数a
中我想屏蔽这些字段,但是在函数b
中是不同的字段。
2条答案
按热度按时间baubqpgj1#
我认为您应该从日志中排除这些字段。下面是一个使用
Gson
和@Expose
注解的简单示例。输出将为:
另一个使用反射的解决方案:
px9o7tmv2#
我喜欢上面的解决方案,以屏蔽使用反射,但希望扩展相同的其他字段类型,并保存屏蔽字段再次取消屏蔽。
在字段顶部创建注解
@MaskedField
。第一个