SpringBoot学习笔记41——使用注解实现保留两位小数

今天记录一下使用注解实现接口返回两位小数。实际上之前就写过这个功能了,不过当时没有记录,时间长了就给忘记了。现在来记录一下。

主要用到的注解是@JsonSerialize,通过此注解我们可以自定义序列化代码。接下来就有了下面的代码。



import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;
import java.text.DecimalFormat;

/**
 * 小数保留2位返回给前端序列化器
 *
 * @author: 刘朋
 * 
date: 2020-04-15 */ public class Double2Serializer extends JsonSerializer { private DecimalFormat df = new DecimalFormat("0.00"); /** * 小数保留2位返回给前端序列化器 * @param data * @param jsonGenerator * @param serializerProvider * @throws IOException */ @Override public void serialize(Double data, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { if (data != null) { if (data == 0) { jsonGenerator.writeString("0"); } else { jsonGenerator.writeString(df.format(data)); } } } }

然后只需要在返回的对象上添加注解即可

/**
 * 碳排放量
 */
@JsonSerialize(using = Double2Serializer.class)
private double value;

搞定!

 

你可能感兴趣的:(Java,#,SpringBoot)