自定义处理

  1. //将接收的前端字符串类型转换成Long类型
  2. public class LongJsonDeserializer extends JsonDeserializer<Long> {
  3. @Override
  4. public Long deserialize(JsonParser jsonParser,
  5. DeserializationContext deserializationContext) throws IOException {
  6. String value = jsonParser.getText();
  7. return StringUtils.isBlank(value) ? null : Long.parseLong(value);
  8. }
  9. }
  1. //向前端返回时将Long转成字符串
  2. public class LongJsonSerializer extends JsonSerializer<Long> {
  3. @Override
  4. public void serialize(Long value, JsonGenerator jsonGenerator,
  5. SerializerProvider serializerProvider) throws IOException{
  6. String text = (value == null ? null : String.valueOf(value));
  7. if (text != null) {
  8. jsonGenerator.writeString(text);
  9. }
  10. }
  11. }

字段加上注解

@JsonDeserialize

反序列化使用。比如接收前端的数据转为实体

@JsonSerialize

序列化使用。比如返回数据到前端。

  1. @JsonDeserialize(using = LongJsonDeserializer.class)
  2. @JsonSerialize(using = LongJsonSerializer.class)
  3. private Long id;