@JsonSerialize的使用
@JsonSerialize的使用
实际开发中,我们一定遇到过这样的问题:前端显示和后台存储数据单位不统一,而且各有各自的理由,统一不了,那就转换吧。
每次返回给前端时再转换一遍,返回给前端的json数据,在后端里定义的往往是一个对象,如何做到优雅的转换呢?只需两步
1. 写一个负责转换的类,里面写好规则
1 public class MySerializerUtils extends JsonSerializer<Integer> {2 @Override3 public void serialize(Integer status, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {4 String statusStr = "";5 switch (status) {6 case 0:7 statusStr = "暂存";8 break;9 case 1: 10 statusStr = "待上报"; 11 break; 12 case 2: 13 statusStr = "待审核"; 14 break; 15 case 3: 16 statusStr = "已审"; 17 break; 18 case 4: 19 statusStr = "退回"; 20 break; 21 case -1: 22 statusStr = "已删"; 23 break; 24 default: 25 statusStr = "状态信息不符合"; 26 } 27 jsonGenerator.writeString(statusStr); 28 } 29 }
2. 在实体类上需要装换的字段上加上注解
/*** 文字型状态值*/ @JsonSerialize(using = MySerializerUtils.class) private int status;
这样就转换成功了。
@JsonSerialize注解,主要用于数据转换,该注解作用在该属性的getter()方法上。
@JsonSerialize的使用相关推荐
- springboot @JsonSerialize 的使用
解决前端显示和后台存储数据单位不一致的问题. 在返回对象时,进行自定义数据格式转换. 写一个类继承JsonSerializer 抽象类, 实现其serialize()方法,然后在方法中写入转换规则即可 ...
- @JsonSerialize 与 @JsonDeserialize 使用
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.以注解方式使用: @JsonDeserialize(using= DateJsonDeseria ...
- @JsonSerialize 使用:注解方式 实现条件判断属性值、条件修改属性值
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 数据库中是 1.0 记录性别. 预期效果为:当查到属性值为 1 时,就给序列化后的 json ...
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将 ...
- 【jackson】@JsonDeserialize 和 @JsonSerialize
文章目录 1.概述 2.[需求] 3.[实现方式] 3.1 @JsonDeserialize 3.2 @JsonSerialize 4.案例 4.1 实体类 4.2 GenderJsonDeseria ...
- Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释...
转自Hibernate JPA中@Transient.@JsonIgnoreProperties.@JsonIgnore.@JsonFormat.@JsonSerialize等注解解释 1.@Tran ...
- @JsonIgnore和@JsonSerialize 的 区别
@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL) 类序列化为Json时不返回null对象,key消失 @JsonIgnore的作用是j ...
- java注解保留两位小数_jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题
一. 问题 最近开发中使用BigDecimal这个数据类型 返回json数据时出现了点问题: # 1.前端第一次保存的时候 穿过来的数据格式 240.00 240.77 # 2. mysql数据库存储 ...
- jackson使用@JsonDeserialize与@JsonSerialize控制序列化与反序列化使用的实际类型
1.简介 默认情况下,序列化时会获取对象的实际类型,然后根据可见性规则,获取对象以及其父类的所有属性进行序列化 默认情况下,反序列化时,如果使用的对象类型.属性类型不是最终类型,而是接口或者抽象类型, ...
最新文章
- 最新!2022中国大学排名发布
- 厦大计算机研究生和福大,考研:只知道厦门大学?福建还有这些211值得你了解...
- python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...
- 【备忘】とある画像の自动生成
- linux 路由 route命令
- 5_jfoenix_运行jfoenix官方演示,切换片段,部署
- leetcode56. 合并区间
- oracle decode_错过血亏!一文搞懂Oracle锁相关视图及相关操作
- Spring Boot笔记-使用RedirectAttributes重定向后也可以显示填写的信息
- 漫步数理统计二十九——函数期望
- 物联网卡定位技术涉及范围及工作原理
- 架构篇:大型分布式Web系统的架构演进
- 教你阅读vue源码的正确姿势,看完就学废!
- python:游戏倒计时器
- 中国近代史导图(二)
- [玩法/技巧] Transmission 3.0 降级到 2.94 恢复数据的方法
- 81 文件操作——关闭文件
- 一起飞系列之:腾讯云配置Ubuntu16.04, Nginx, PHP 7, MySql, PhpMyAdmin, 域名
- 聊一聊count的性能
- 安装JDK7和Tomcat8.5后,Tomcat服务启动不了