@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的使用相关推荐

  1. springboot @JsonSerialize 的使用

    解决前端显示和后台存储数据单位不一致的问题. 在返回对象时,进行自定义数据格式转换. 写一个类继承JsonSerializer 抽象类, 实现其serialize()方法,然后在方法中写入转换规则即可 ...

  2. @JsonSerialize 与 @JsonDeserialize 使用

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.以注解方式使用: @JsonDeserialize(using= DateJsonDeseria ...

  3. @JsonSerialize 使用:注解方式 实现条件判断属性值、条件修改属性值

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 数据库中是 1.0 记录性别. 预期效果为:当查到属性值为 1 时,就给序列化后的 json ...

  4. Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将 ...

  5. 【jackson】@JsonDeserialize 和 @JsonSerialize

    文章目录 1.概述 2.[需求] 3.[实现方式] 3.1 @JsonDeserialize 3.2 @JsonSerialize 4.案例 4.1 实体类 4.2 GenderJsonDeseria ...

  6. Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释...

    转自Hibernate JPA中@Transient.@JsonIgnoreProperties.@JsonIgnore.@JsonFormat.@JsonSerialize等注解解释 1.@Tran ...

  7. @JsonIgnore和@JsonSerialize 的 区别

    @JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL) 类序列化为Json时不返回null对象,key消失 @JsonIgnore的作用是j ...

  8. java注解保留两位小数_jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题

    一. 问题 最近开发中使用BigDecimal这个数据类型 返回json数据时出现了点问题: # 1.前端第一次保存的时候 穿过来的数据格式 240.00 240.77 # 2. mysql数据库存储 ...

  9. jackson使用@JsonDeserialize与@JsonSerialize控制序列化与反序列化使用的实际类型

    1.简介 默认情况下,序列化时会获取对象的实际类型,然后根据可见性规则,获取对象以及其父类的所有属性进行序列化 默认情况下,反序列化时,如果使用的对象类型.属性类型不是最终类型,而是接口或者抽象类型, ...

最新文章

  1. 最新!2022中国大学排名发布
  2. 厦大计算机研究生和福大,考研:只知道厦门大学?福建还有这些211值得你了解...
  3. python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...
  4. 【备忘】とある画像の自动生成
  5. linux 路由 route命令
  6. 5_jfoenix_运行jfoenix官方演示,切换片段,部署
  7. leetcode56. 合并区间
  8. oracle decode_错过血亏!一文搞懂Oracle锁相关视图及相关操作
  9. Spring Boot笔记-使用RedirectAttributes重定向后也可以显示填写的信息
  10. 漫步数理统计二十九——函数期望
  11. 物联网卡定位技术涉及范围及工作原理
  12. 架构篇:大型分布式Web系统的架构演进
  13. 教你阅读vue源码的正确姿势,看完就学废!
  14. python:游戏倒计时器
  15. 中国近代史导图(二)
  16. [玩法/技巧] Transmission 3.0 降级到 2.94 恢复数据的方法
  17. 81 文件操作——关闭文件
  18. 一起飞系列之:腾讯云配置Ubuntu16.04, Nginx, PHP 7, MySql, PhpMyAdmin, 域名
  19. 聊一聊count的性能
  20. 安装JDK7和Tomcat8.5后,Tomcat服务启动不了

热门文章

  1. thymeltesys-基于Spring Boot Oauth2的扫码登录框架
  2. prototype小解
  3. [搬家]新域名 akagi201.org
  4. 很实用的一个ext表格,具有很好的分页功能。
  5. CodeForces - 416A Guess a number
  6. Bailian2884 Problem III【入门】
  7. NUC1076 LCD-Display【打印图案】
  8. NUC1015 计算数字的根
  9. Bailian2928 POJ NOI0113-05 素数回文数的个数【数论】
  10. 多元高斯分布的边缘概率和条件概率