当前位置: 首页 > news >正文

@JsonSerialize注解的使用

使用场景

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

相关文章:

  • 拼多多开放平台订单接口接入说明
  • 2023年亚太杯数学建模A题解题思路(*基于OpenCV的复杂背景下苹果目标的识别定位方法研究)
  • 【Java并发】聊聊创建线程池的几种方式以及实际生产如何应用
  • STM32内存介绍
  • Windows下安装Anaconda3并使用JupyterNoteBook
  • 关于elementui和ant design vue无法禁止浏览器自动填充问题
  • Docker Remote API 使用详解
  • MYSQL基础之【创建数据表,删除数据表】
  • 用idea搭建一个spring cloud微服务项目
  • Java的判空(附Optional理解)
  • RK3568驱动指南|第八篇 设备树插件-第73章 设备树插件使用实验
  • Day31| Leetcode 455. 分发饼干 Leetcode 376. 摆动序列 Leetcode 53. 最大子数组和
  • Java LCR 089 打家劫舍
  • 日历视图,轻松解决时间管理难题丨三叠云
  • Ubuntu18.4中安装wkhtmltopdf + Odoo16配置【二】
  • Computed property XXX was assigned to but it has no setter
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • golang中接口赋值与方法集
  • gops —— Go 程序诊断分析工具
  • Java比较器对数组,集合排序
  • js作用域和this的理解
  • Python十分钟制作属于你自己的个性logo
  • Redis 中的布隆过滤器
  • Windows Containers 大冒险: 容器网络
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 力扣(LeetCode)56
  • 山寨一个 Promise
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 通过几道题目学习二叉搜索树
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 学习笔记:对象,原型和继承(1)
  • 以太坊客户端Geth命令参数详解
  • 1.Ext JS 建立web开发工程
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #HarmonyOS:基础语法
  • #if 1...#endif
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (一) springboot详细介绍
  • (一)认识微服务
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转) 深度模型优化性能 调参
  • (转)Linux下编译安装log4cxx
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)人的集合论——移山之道
  • **python多态
  • .NET Core 中的路径问题
  • .NET 常见的偏门问题
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • @NestedConfigurationProperty 注解用法