SpringBoot配置Jackson处理字段
常用框架 阿里fastjson,谷歌gson等
JavaBean序列化为json
- 性能:Jackson>FastJson>Gson>lib 同个结构
- Jackson、Fastjson、Gson等库各有优缺点,各有自己的专长
- 空间换时间,时间换空间
Jackson处理相关自动
- 指定字段不返回:@JsonIgnore
- 指定日期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
- 空字段不返回:@JsonInclude(JsonInclude.Include.NON_NULL)
- 指定别名:@JsonProperty("TITLE")
package net.cyb.demo.domain; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable;
import java.util.Date;
import java.util.List; public class Video implements Serializable {
private int id;
//设置别名
@JsonProperty("TITLE")
private String title;
private String summary;
//指定字段不返回
@JsonIgnore
private int pricce;
//空字段不返回
@JsonInclude(JsonInclude.Include.NON_NULL)
private String converImg;
//指定日期格式
@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")
private Date createTime;
private List<Chapter> chapterList; public List<Chapter> getChapterList() {
return chapterList;
} public void setChapterList(List<Chapter> chapterList) {
this.chapterList = chapterList;
} public Video() {
} public Video(int id, String title) {
this.id = id;
this.title = title;
this.createTime = new Date();
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getSummary() {
return summary;
} public void setSummary(String summary) {
this.summary = summary;
} public int getPricce() {
return pricce;
} public void setPricce(int pricce) {
this.pricce = pricce;
} public String getConverImg() {
return converImg;
} public void setConverImg(String converImg) {
this.converImg = converImg;
} public Date getCreateTime() {
return createTime;
} public void setCreateTime(Date createTime) {
this.createTime = createTime;
} @Override
public String toString() {
return "Video{" +
"id=" + id +
", title='" + title + '\'' +
", summary='" + summary + '\'' +
", pricce=" + pricce +
", converImg='" + converImg + '\'' +
", createTime=" + createTime +
", chapterList=" + chapterList +
'}';
}
}
序列化操作
public JsonData list() throws JsonProcessingException {
List<Video> list=videoService.listVideo();
ObjectMapper objectMapper=new ObjectMapper();
String jsonStr=objectMapper.writeValueAsString(list);
System.out.println(jsonStr);
return JsonData.buildSuccess(list);
}
反序列化
public JsonData list() throws JsonProcessingException {
List<Video> list=videoService.listVideo();
ObjectMapper objectMapper=new ObjectMapper();
String jsonStr=objectMapper.writeValueAsString(list);
System.out.println(jsonStr);
List<Video> list1 = objectMapper.readValue(jsonStr, List.class);
System.out.println(list1);
return JsonData.buildSuccess(list);
}
SpringBoot配置Jackson处理字段的更多相关文章
- springboot之jackson的两种配置方式
springboot 针对jackson是自动化配置的,如果需要修改,有两种方式: 方式一:通过application.yml 配置属性说明:## spring.jackson.date-format ...
- springboot上传文件 & 不配置虚拟路径访问服务器图片 & springboot配置日期的格式化方式 & Springboot配置日期转换器
1. Springboot上传文件 springboot的文件上传不用配置拦截器,其上传方法与SpringMVC一样 @RequestMapping("/uploadPicture&q ...
- 源码分析springboot自定义jackson序列化,默认null值个性化处理返回值
最近项目要实现一种需求,对于后端返回给前端的json格式的一种规范,不允许缺少字段和字段值都为null,所以琢磨了一下如何进行将springboot的Jackson序列化自定义一下,先看看如何实现,再 ...
- SpringBoot配置Aop笔记【例子】
众所周知,spring最核心的两个功能是aop和ioc,即面向切面,控制反转.这里我们探讨一下如何使用spring aop. 1.何为aop aop全称Aspect Oriented Programm ...
- SpringBoot配置属性之MVC
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SpringBoot 配置提示功能
目的 配置自动提示的辅助功能可以让配置写起来更快,准确率大大提高. springboot jar 包含提供所有支持的配置属性细节的元数据文件.文件的目的是为了让 IDE 开发者在用户使用 applic ...
- Springcloud 中 SpringBoot 配置全集 (收藏版)
Springcloud 中 SpringBoot 配置全集 (收藏版) 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 前言 疯狂创客圈(笔者尼恩创建的高并发研习社群 ...
- 跨站点脚本编制 - SpringBoot配置XSS过滤器(基于mica-xss)
1. 简介 XSS,即跨站脚本编制,英文为Cross Site Scripting.为了和CSS区分,命名为XSS. XSS是最普遍的Web应用安全漏洞.这类漏洞能够使得攻击者嵌入恶意脚本代码 ...
- SpringBoot——配置及原理
更多内容,前往IT-BLOG 一.Spring Boot全局配置文件 application.properties 与 application.yml 配置文件的作用:可以覆盖 SpringBoot ...
- SpringBoot配置属性之Server
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
随机推荐
- 鸿蒙HarmonyOS实战-Stage模型(服务卡片的模块和创建)
一.服务卡片的模块和创建 在HarmonyOS中,服务卡片是一种提供即时信息和快速操作的小组件,类似于Android中的通知栏.服务卡片可以显示各种类型的信息,包括通知.天气.日历事件.音乐播放器.快 ...
- Gin 框架是怎么使用 net http 包的(gin.go)
Gin 框架是基于 Go 语言的标准库 net/http 构建的,它使用 net/http 提供的基础功能来构建自己的高性能 Web 应用框架. 具体来说,Gin 使用 net/http 的以下方面: ...
- js 表格的添加和删除操作
大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国 ...
- react 样式继承 属性传递
# 样式 import styled from 'styled-components' const Button = styled.button` font-size: 20px; border: 1 ...
- 键盘中断,键盘驱动,基于Linux0.11
键盘,咱们做计算机这一行的自然不必多说,天天与它打交道.但熟归熟,清楚键盘背后的原理吗?键盘上都标有各键的名称,表明了各键所代表的意义,但是计算机是如何知道的?组合键是怎样实现的?按下一个代表字符的键 ...
- Windows下cmd命令行sftp上传至Linux服务器
1.Windows+R进入运行 2.输入cmd,进入命令行 3.命令建立连接 sftp 用户名@ip地址 例如: 输入密码,即可建立连接 上传方式: 1)直接拖动文件到命令行窗口,可以直接显示该文件的 ...
- ABC335
输 E 对于 \((u,v)\): 若 \(a_u = a_v\),则把 \(u\) 和 \(v\) 扔到同一个并查集里 否则连接两个点 然后跑一遍 dp 即可. code F 根号分治 如果 \(a ...
- 什么是spring框架?
spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,是一个分层的javaEE一站式轻量级开源框架
- Java类加载和对象创建
引言 Java代码需要被使用,必须要经过类加载器加载到内存中,然后对应的类才能够被创建使用,这文对类加载和对象创建和过程进行分析. 类加载 Java类通过懒加载的方式,经过了Loading.Linki ...
- mongodb插入文档,更新文档和检索文档
import com.mongodb.client.*; import com.mongodb.client.MongoClient; import com.mongodb.client.model. ...