1、使用
@JsonDeserialize(using = AmountDeserializer.class)
@JsonSerialize(using = AmountSerializer.class)
private Long amount;
2、自定义实现类
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
public class AmountSerializer extends JsonSerializer<Long> {
//@RequestBody 接收参数时触发
@Override
public void serialize(Long value, JsonGenerator gen, SerializerProvider arg2) throws IOException
{
gen.writeNumber(value / 100L);
}
}
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import java.io.IOException;
public class AmountDeserializer extends JsonDeserializer<Long> {
//@ResponseBody 返回参数时触发
@Override
public Long deserialize(JsonParser json, DeserializationContext arg1)
throws IOException {
Number value = json.getNumberValue();
return value.longValue() * 100L;
}
}