首页 前端知识 @JsonSerialize注解的使用

@JsonSerialize注解的使用

2024-06-24 23:06:21 前端知识 前端哥 840 335 我要收藏

提示:使用场景

在开发中,有时候某些字段需要特殊处理,比如我们有一个日期字段,当日期为NULL时给前端不返回NULL而返回为其他等信息,就需要自定义字段的序列化。这就是@JsonSerialize的用处

1:先写一个指定的处理类


package org.demo.common.json;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;
import java.util.List;

/**
 *
 * @Description: 序列化工具,将list集合转字符串
 * @Author: xqf
 * @Date: 2023-11-25
 * @Version: V1.0
 * /
  /**继承JsonSerializer*/
public class ToArraysSerializer extends JsonSerializer<String> {
    /**
     * 重写serialize方法
     **/
    @Override
    public void serialize(String object, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
        /**自定义处理方式*/
        List<String> list = JSONObject.parseObject(object, List.class);
        jsonGenerator.writeObject(list);
    }

}

2:此字段上加上@JsonSerialize注解,并且使用using 属性(表示有值的时候调用ToArraysSerializer处理返回给前端)

    /**
     * 文章内容
     */
    @ApiModelProperty(value = "文章内容")
    @JsonSerialize(using = ToArraysSerializer.class)
    private String content;

3:nullsUsing用法与using 一样,当字段为NULL时的自定义序列化方式

    /**
     * 文章内容
     */
    @ApiModelProperty(value = "文章内容")
    @JsonSerialize(nullsUsing = xxx.class)
    private String content;
转载请注明出处或者链接地址:https://www.qianduange.cn//article/13520.html
标签
评论
发布的文章

Markdown基础与进阶语法

2024-06-30 22:06:12

零基础 HTML 入门(详细)

2024-06-30 22:06:09

CSS3基本语法

2024-06-30 22:06:51

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!