@JsonSerialize注解的使用

news/2024/12/26 23:43:44/

使用场景

** 在开发中,有时候某些字段需要特殊处理,比如我们有一个日期字段,当日期为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方法**/@Overridepublic 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;

http://www.ppmy.cn/news/1240338.html

相关文章

好用的产品经理学习网站

官网&#xff1a;https://www.pmmaster.cc 在官网注册登录后&#xff0c;可以下面免费的产品高质量资源 PRDView&#xff1a;http://www.prdview.cn 产品需求文档工具&#xff0c;帮助产品经理撰写高质量产品需求文档&#xff0c;高效率输出结构化产品需求 工具箱&#xff…

C语言——猜凶手

题目&#xff1a; 日本某地发生了一件谋杀案&#xff0c;警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说&#xff1a;不是我。 B说&#xff1a;是C。 C说&#xff1a;是D。 D说&#xff1a;C在胡说 已知3个人说了真话&#xff0c;1个人说的是假话。…

一文了解 StandardTokenizer 分词器,分词原理

一、StandardTokenizer简介 什么是StandardTokenizer&#xff1f; StandardTokenizer是HanLP中的一个分词器&#xff0c;也是默认的标准分词器。它基于词典和规则的方式对中文文本进行分词&#xff0c;将输入的句子切分成一个个独立的词语。 StandardTokenizer的主要特点如下…

模拟退火算法应用——求解二元函数的最小值(极小值)

仅作自己学习使用 一、问题 二、代码 clear clcT1 cputime; xmax 5; xmin -5; ymax 5; ymin -5; L 20; % 马尔科夫链长度 dt 0.998; % 降温系数 S 0.02; % 步长因子 T 200; % 初始温度 TZ 1e-8; % 容差 Tmin 0.01;% 最低温度 P 0; % Metropolis接受…

apollo云实验:借道绕行场景仿真调试(9.0版)

借道绕行场景仿真调试&#xff08;9.0版&#xff09; 概述仿真目标与需求模型构建与数据准备仿真实验与结果分析 启动仿真环境实现任务功能修改全局配置参数 福利活动 主页传送门&#xff1a;&#x1f4c0; 传送 概述 在现代交通系统中&#xff0c;借道绕行是一种常见的交通管…

Eclipse常用设置-乱码

在用Eclipse进行Java代码开发时&#xff0c;经常会遇到一些问题&#xff0c;记录下来&#xff0c;方便查看。 一、properties文件乱码 常用的配置文件properties里中文的乱码&#xff0c;不利于识别。 处理流程&#xff1a;Window -> Preferences -> General -> Ja…

知行之桥EDI系统HTTP签名验证

本文简要概述如何在知行之桥EDI系统中使用 HTTP 签名身份验证&#xff0c;并将使用 CyberSource 作为该集成的示例。 API 概述 首字母缩略词 API 代表“应用程序编程接口”。这听起来可能很复杂&#xff0c;但真正归结为 API 是一种允许两个不同实体相互通信的软件。自开发以…

【C++初阶】STL详解(八)List的模拟实现

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…