springboot使用fastJson作为json解析框架

四、springboot配置FastJson为Spring Boot默认JSON解析框架 前言 springboot默认使用jackson作为json解析框架,如果使用fastjson,可以按照下列方式配置使用 1.pom文件引入依赖库: <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58&lt 阅读详情

springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用

〇、搭建springbboot基础环境

一、添加依赖

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.15</version>
    </dependency>
</dependencies>

二、在app.class(启动类)中的配置

配置方式一(通过继承的方式)
1、启动类继承WebMvcConfigurerAdapter
2、重写configureMessageConverters方法

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        super.configureMessageConverters(converters);
        /*
         * 1、需要先定义一个convert转换消息的对象
         * 2、添加fastJson的配置信息,比如:是否要格式化返回json数据
         * 3、在convert中添加配置信息
         * 4、将convert添加到converters当中
         * 
         */
        //1、需要先定义一个·convert转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        //2、添加fastjson的配置信息,比如 是否要格式化返回json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //3、在convert中添加配置信息.
        fastConverter.setFastJsonConfig(fastJsonConfig);
        //4、将convert添加到converters当中.
        converters.add(fastConverter);
    }  

配置方式二(通过@Bean注入的方式)

@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    // 1、需要先定义一个 convert 转换消息的对象;
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();        
    //2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);       
    //3、在convert中添加配置信息.
    fastConverter.setFastJsonConfig(fastJsonConfig);
    HttpMessageConverter<?> converter = fastConverter;
    return new HttpMessageConverters(converter);
}

二、以第一种配置方式,测试验证一下:

准备一个Controller

import java.util.Date;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xujie.pojo.Demo;

@RestController // 包括了@ResponseBody和Controller
public class UserController {
    
    @GetMapping("/test")
    public Demo test() {
        Demo demo = new Demo();
        demo.setId(1);
        demo.setCreateTime(new Date());
        demo.setName("demo22");
        demo.setRemarks("这里是备注信息,不应该返回");
        return demo;
    }
}

启动类写法

import java.util.List;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;

@SpringBootApplication
public class UserApplication extends WebMvcConfigurerAdapter {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }
    
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        //1、需要先定义一个·convert转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        //2、添加fastjson的配置信息,比如 是否要格式化返回json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //3、在convert中添加配置信息.
        fastConverter.setFastJsonConfig(fastJsonConfig);
        //4、将convert添加到converters当中.
        converters.add(fastConverter);
    }
}

pojo类

import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;

public class Demo {
    private int id;
    private String name;
    
    //com.alibaba.fastjson.annotation.JSONField
    @JSONField(format="yyyy-MM-dd HH:mm")
    private Date createTime;//创建时间.
    
    /*
     * serialize:是否需要序列化属性.
     */
    @JSONField(serialize=false)
    private String remarks;//备注信息.
    
    
    public String getRemarks() {
        return remarks;
    }
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
}

浏览器测试

**输入地址:http://localhost:8080/test**

返回:
{ "createTime":"2018-02-23 12:06", "id":1, "name":"demo22" }

k8s RoCE 部署: k8s-rdma-shared-dev-plugin + macvlan cni 写给自己的入门篇 文章目录前言一、创建 k8s 集群二、启用 primary network三、启用 secondary networkk8s-rdma-shared-dev-pluginMultus CNISecondary CNIMulti-Network CRD四、启用 pod五、在 pod 中启动 RoCE 流量总结 前言 写给自己的扫盲篇。后续会在原理方面持续更新 一、创建 k8s 集群 k8s 集群的创建有多种方法,可以按照官方文档的说明来. 阅读详情

相关推荐

康耐视 VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具

VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具

zhihuishuxia__的博客 2065

【Spring Boot实战与进阶】Redis配置Fastjson进行序列化和反序列化(1)

**自定义序列化类@param*/super();@Override@Override这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!

2401_84584609的博客 759

Apache Hop环境搭建实战:从零到一的下载、安装与配置指南

本文详细介绍了Apache Hop环境搭建的全过程,包括下载、安装与配置指南。从选择正确的JDK17版本到设置关键环境变量,再到启动GUI界面和解决常见问题,提供了全面的实战指导。适合数据工程师和ETL开发者快速上手这一强大的数据集成工具。

weixin_42634811的博客 577

Springcloud 与fastjson 1.2.21遇到一个坑

~[spring-context-4.3.7.RELEASE.jar:4.3.7.RELEASE]     at org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration$RefreshableEurekaClientConfiguration$$EnhancerBySpringCGLIB$$7bd66fd9.eu...

1451

UniApp X 网络请求避坑指南:从 JS 到 UTS 的 JSON 数据处理全解析

摘要:UniAppX开发中处理JSON数据时,UTS强类型特性要求开发者改变JS习惯。本文对比两种主流方案:1)UTSJSONObject通过keypath访问数据,兼容JS但缺乏类型提示;2)type+泛型方案,通过定义数据类型实现强类型校验和智能提示,推荐用于固定数据结构。文章详细演示了两种方式的具体实现、转换方法及实战案例,并提供了类型定义技巧和注意事项,帮助开发者编写更稳定高效的跨平台应用。

归梦工作室 2791

底层软件测试规范,QA评审底层测试

本文首发于【林子的空间】“林子,咱们上次讨论的高效Desk check清单,用起来还挺好的,最近我们组每次Desk check变得顺利多了,Dev也是越来越熟练。”玥玥跟我说。“真好!我们组感觉也是这样!”“不过,我听小慧说他们组有人对QA review UT提出了一些concern(质疑),觉得QA review的价值不大,基本都是Dev给讲一遍,QA也提不出来什么反馈...”玥玥补充说道。“哦...

weixin_42144707的博客 1189

Springboot 优先使用fastjson而不是jackson【部分内容参考借鉴网络,此站转载太过复杂,不做独立声明,如有不满,通知删除即可】

1. 经过测试SpringBoot中默认的Jackson是不支持将没有手动定义getter和setter的类进行JSON字符串序列化,而fastjson可以 2. jackson 不支持对没有getter和setter方法的对象进行对应值的注入,而fastjson可以 3. jackson是可以将对象转换为JSON字符串,但是属性名经过jackson转换后key都变成了小写,即fuid而非fU...

fengdijiang的专栏 959

10款AI工具赋能虚拟展厅设计:架构师效率提升90%的秘密武器

2020年全球疫情成为数字转型的催化剂,虚拟展厅从"可选项"迅速转变为"必需品"。根据Gartner最新报告,到2025年,超过70%的企业将采用虚拟展厅作为客户体验和产品展示的核心渠道。这一转变不仅是应急措施,更是商业模式的永久性革新。虚拟展厅突破了物理空间的限制——一个精心设计的虚拟展厅可以同时接待来自全球各地的访客,无需考虑场地容量;展品可以以数字形式永久保存,避免了物流和损耗问题;数据分析功能可以精确追踪每位访客的行为轨迹,提供前所未有的洞察。数据透视。

AI 领航者的博客 1573

SpringBoot 整合常用JSON解析

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。 SpringBoot本身提供了Jackson和Gson,和另一种比较常用的第三方FastJson。 新建一个SpringBoot项目,创建一个User类来测试。 public class User { private int id; private String name; private Integer age; private Date birthday; ... }.

Charge8的博客 4792

UG NX二次开发(C#)-建模-获取圆柱面信息(轴向、半径、深度)

获取圆柱面的信息前言一、在UG NX中面的类型有哪些?二、获取圆柱面信息的函数1.获取半径和轴向2、计算圆柱面的深度值3、测试用例总结 文章目录前言一、在UG NX中面的类型有哪些?二、获取圆柱面信息的函数1.获取半径和轴向2、计算圆柱面的深度值3、测试用例总结 前言 在一个项目中,需要遍历曲面,获得所有的圆柱面和圆柱面的信息,包括轴向、半径和圆柱面的深度。经过研究,采用uFModl.AskFaceData(face.Tag, out faceTypeInt, point, dir, box, out

GimiGimmy 4147

【FPGA教程案例49】控制案例1——基于FPGA的PID控制器verilog实现

PID控制器产生于1915年,PID控制律的概念最早是由LYAPIMOV提出的,到目前为止,PID控制器以及改进的PID控制器在工业控制领域里最为常见。PID控制器(比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。通过Kp,Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统。图1为PID控制器的基本结构框图。PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。...

FPGA/MATLAB学习教程/源码/项目合作开发 4532

springboot2中jackson设置的LocalDateTime全局序列化不生效的问题存在情况

比如,你可能设置了如下的配置,获取其他的方式 @Configuration public class WebMvcConfig { @Bean public Converter<String, LocalDate> localDateConverter() { return new Converter<String, LocalDate>() { @Override public LocalDat

l244112311的博客 3868

179、运动控制中的行业标准:机器人安全标准ISO 10218

今天这篇笔记,就把我踩过的坑和标准里的硬骨头掰开揉碎讲清楚。

m0_50546716的博客 170

springboot配置fastJson为Spring Boot默认json解析框架

springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1. 引入fastion依赖库 <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fa...

qq_41674409的博客 3872

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

springboot配置FastJson为Spring Boot默认JSON解析框架

前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <versio

weixin_44003528的博客 495

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Boot配置FastJson做为JSON解析框架

Spring Boot有自带的JSON解析框架,但自带的JSON解析框架有时候无法满足我们的需求,FastJson是一种比较流行的JSON解析框架,下面整理一下Spring Boot配置FastJson做为JSON解析框架的两种方法。 首先,要在pom.xml中引入FastJson依赖,配置如下: <dependency> <groupId>com.alib...

zuoshengdong的博客 503

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

十七、springboot配置FastJson为Spring Boot默认JSON解析框架

前提   springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库:   maven: <dependencies> <dependency> <groupId>com.alibaba</groupId> ...

weixin_30275415的博客 191

SpringBoot默认Json解析框架jackson替换成fastjson,并使用全局日期格式化处理

SpringBoot默认Json解析框架jackson替换成fastjson,并使用全局日期格式化处理 1. 引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </dependency> 1...

志豪的博客 1468

SpringBoot 之 第三方Json解析框架FastJson的使用

学习知识不能只学当前的,学过要学会总结,本人通过学习spring boot 的第三方json解析框架,触类旁通,总结自定义配置spring boot 其他组件的使用,总结于此方便自己以后复习使用。如有大牛路过还请多多批评指正。 总结: 1:在pom.xml中引入相关的jar包信息,比如这里的FastJson <dependency> <groupId>com.

cullinans的博客 2312

springboot使用第三方的json解析框架fastjson

1、添加依赖 com.alibaba fastjson 1.2.15 2、我们要使用第三方的json解析框架的话: 1、我们需要在pom.xml中引入相应的依赖; 2、需要在启动类中继承WebMvcConfigurerAdapter重写方法:configureMessageConverters 添加我们自己定义的json解析框架; @SpringBootApp

叼着烟头在bug中流浪的博客 505

将SpringBoot默认Json解析框架jackson替换成fastjson

步骤一:引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version></dependency>步骤二:定制一个物理类...

dengechuan3788的博客 491

SSM之SpringBoot框架(三)——返回json数据、FastJson框架和热部署

创建一个SringBoot项目pom.xml 启动类 控制类 实体类 运行:pom.xml 3.2 配置fastjon 目前有两种方法支持。步骤 2. 第二种办法 FastJson框架的一些注解方法: 4.0 Spring Boot热部署 4.1 第一种办法 就是运行的时候,可以修改代码,然后可以直接刷新浏览器即可。 然后在maven build输入spring-boot:run运行即可。然后浏览器打开即可,改代码后,只需要刷新浏览器即可。但这个方法存在一个问题,当在Eclipse中点击关闭后,还需要去

m0_54828003的博客 270

java json解析框架_json解析框架

2、需要在App.java中继承WebMvcConfigurerAdapter重写方法:configureMessageConverters添加我们自己定义的json解析框架;2.1@Bean注入第三方的json解析框架:@BeanpublicHttpMessageConvertersfastJsonHttpMessageConverters(){//1、需要先定义一个con...

weixin_29172963的博客 110

java语言解析json

在需要将获取到的Json数据转为VO对象存入数据库时可以这样 json数据 String json="{\"data\": {\"rowtype\": \"devicealarm\",\"row\": {\"devid\": \"test\",\"alarmdesc\": \"IP: test\",\"alarmcategory\": \"test\",\"alarmid\": \"test\...

岛屿海 374

SpringBoot系列二之json解析

SpringBoot默认的json解析框架是jackson,我们可以将解析框架换成fastjson。 准备工作先添加fastjson依赖包: <dependency> <groupId>com.alibaba</groupId> <artifa...

chongxilei2565的博客 167

springboot使用fastjson解析json数据

1.spring boot默认使用的json解析框架是jackson,使用fastjson需要配置,首先引入fastjson依赖 pom.xml配置如下:&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc...

iechenyb专栏 7083
上一篇: IDEA 创建spring cloud 项目
下一篇: SpringBoot学习之Json数据交互
liuyinfei_java
博客等级 码龄9年 71粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值