码迷,mamicode.com
首页 > Web开发 > 详细

@JsonSerialize的使用

时间:2018-09-13 16:21:24      阅读:502      评论:0      收藏:0      [点我收藏+]

标签:jsonp   实体类   gen   extends   test   ssi   用户数   vat   break   

实际开发中,我们一定遇到过这样的问题:前端显示和后台存储数据单位不统一,而且各有各自的理由,统一不了,那就转换吧。

每次返回给前端时再转换一遍,返回给前端的json数据,在后端里定义的往往是一个对象,如何做到优雅的转换呢?只需两步

1. 写一个负责转换的类,里面写好规则
 1 public class MySerializerUtils extends JsonSerializer<Integer> {
 2     @Override
 3     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 statusStr;

这样就转换成功了。

@JsonSerialize注解,主要用户数据转换,该注解作用在属性的getter()方法上。



@JsonSerialize的使用

标签:jsonp   实体类   gen   extends   test   ssi   用户数   vat   break   

原文地址:https://www.cnblogs.com/luxianyu-s/p/9640588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!