JSON性能的比较(Jackson,Gson,Fastjson)

FastJson、Gson、Jackson json解析性能比较 FastJson、Gson、Jackson  json解析性能比较 我们之前的项目中一直使用的Jackson API解析记录日志,后面随着数据量的增加,系统运行越来越慢,特别是一些查询接口,达到了不能忍受的地方。经过分析发现,罪魁祸首就是在记录日志的过程中的json解析,因为当时项目非常紧急,所以就直接放弃这种json解析记录日志的方式,也没有找相关的替代方案,最近几天项目没有那么忙了,就想起了 阅读详情

一 、各个JSON技术的简介和优劣
1.json-lib

json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,
包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,
对于复杂类型的转换,json-lib对于json转换成bean还有缺陷,比如一个类里面会出现另一个类的list或者map集合,json-lib从json到bean的转换就会出现问题。
json-lib在功能和性能上面都不能满足现在互联网化的需求。

2.开源的Jackson

相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。
而且Jackson社区相对比较活跃,更新速度也比较快。
Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题。
Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的Json格式

3.Google的Gson

Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,
但自从在2008年五月公开发布第一版后已被许多公司或用户应用。
Gson的应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。
而在使用这种对象转换之前需先创建好对象的类型以及其成员才能成功的将JSON字符串成功转换成相对应的对象。
类里面只要有get和set方法,Gson完全可以将复杂类型的json到bean或bean到json的转换,是JSON解析的神器。
Gson在功能上面无可挑剔,但是性能上面比FastJson有所差距。

4.阿里巴巴的FastJson

Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。 无依赖,不需要例外额外的jar,能够直接跑在JDK上。
FastJson在复杂类型的Bean转换Json上会出现一些问题,可能会出现引用的类型,导致Json转换出错,需要制定引用。
FastJson采用独创的算法,将parse的速度提升到极致,超过所有json库。

综上4种Json技术的比较,在项目选型的时候可以使用Google的Gson和阿里巴巴的FastJson两种并行使用,
如果只是功能要求,没有性能要求,可以使用google的Gson,
如果有性能上面的要求可以使用Gson将bean转换json确保数据的正确,使用FastJson将Json转换Bean
把Java对象JSON序列化,Jackson速度最快,在测试中比Gson快接近50%,FastJSON和Gson速度接近。 
把JSON反序列化成Java对象,FastJSON、Jackson速度接近,Gson速度稍慢,不过差距很小
快30倍!JSON序列化是Jackson?是Gson? 这次测试了三个 JSON 序列化的例子,综合来看,!性能测试的运行环境:JMH:1.37javajava经过五轮测试迭代,有了这样的数据:先解释下吞吐量:吞吐量(Throughput) = 完成的操作数量(Operations)/ 消耗的时间(Time)吞吐量就是每秒能完成的序列化操作数,吞吐量越大,性能越好。在 JMH 结果中,fastjson 平均每秒能完成序列化操作,是第二名 Gson 的 30 倍,是第三名 Jackson 的 300 倍! 阅读详情

相关推荐

【原创工具 | OpenCV-CamCalib】一个基于 OpenCV 的自动化相机数据采集和标定程序

一个基于OpenCV的自动化相机数据采集和标定程序。系统内置相机地址默认为 0。

XavierJ的博客 2698

重学springboot系列之JSON处理工具类:FastJSON、Gson和Jackson对比,Json常用注解,手动数据转换,全局配置:使用配置文件和代码,hutool工具解析json

重学springboot系列之JSON处理工具类:FastJSON、Gson和Jackson对比,Json常用注解,手动数据转换,全局配置:使用配置文件和代码,hutool工具解析json

qq120631157的博客 4036

别再死记硬背了!用这5个Qt Design Studio小项目,彻底玩转核心组件

本文通过5个Qt Design Studio实战项目,帮助开发者深入理解核心组件的协作与应用。从动态登录界面到游戏化任务列表,每个项目都展示了组件属性与交互设计的巧妙结合,让你不再死记硬背,而是真正掌握Qt Design Studio的核心技能。

weixin_29202213的博客 271

Jackson,fastjson Gson比较

jackson:反射+反射缓存、良好的stream支持、高效的内存管理 fastjson: jvm虚拟机:通过ASM库运行时生成parser字节码,支持的field不能超过200个。参考:FastJson使用ASM反序列化。 android虚拟机:反射的方式。 gson:反射+反射缓存、支持部分stream、内存性能较差(gc问题)。 ASM ASM是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 J

wangxuelei036的博客 1万+

VS2019+CAXACAD2023二次开发教程(一、环境搭建)

CAXACAD2023的二次开发相关文件和库都在的文件夹下。CAXACAD2023的默认开发环境是VS2019,如果是用VS2019的环境话,可以直接安装这个插件,安装好后就可以一键新建的项目,新建的项目会自动帮我们配置好所有的环境,并且生成必要的代码和初始的框架。(本来想用VS2022的,但配置环境太麻烦,用VS2022,增加一个环境变量是可以运行自带的例程的,但新建项目要配置的东西和环境太多,就放弃折腾了)

weixin_42968757的博客 4627

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

w0shishabi的博客 2924

Jackson与Gson的比较

选择Jackson还是Gson,取决于具体的项目需求。如果需要高性能和高度的可定制性,Jackson可能是更好的选择。如果项目需要轻量级的库,或者与Google的其他服务有紧密的集成,Gson可能更合适。在实际使用中,两者都是成熟的库,能够为Java应用提供可靠的JSON处理能力

龙大的博客 1420

华为OD机试 - 最快到达医院的方法(Python/JS/C/C++ 2024 E卷 100分)

刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 2172

Java中的JSON处理:Jackson与Gson

我们详细讲解了如何使用这两个库进行JSON序列化和反序列化,并展示了它们的实际应用场景,包括在Spring Boot项目中的使用和自定义序列化与反序列化。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Gson是Google提供的一个开源Java库,用于将Java对象转换为JSON表示形式,也可以将JSON字符串转换回Java对象。大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!

微赚淘客系统开发者博客 855

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 125

【人工智能】Claude服务访问受限报错的技术分析与解决方案

在使用Claude系列大模型服务的过程中,部分用户会遇到服务不可用的标准化拦截提示,导致无法正常访问模型核心能力。本文针对该类报错进行完整技术拆解,明确报错根因与底层校验逻辑,并分场景提供合规、可落地的排查与解决方案,同时规避相关使用风险。

奶爸的编程之路,也就一周冷个三天 2682

FastJSON、Gson和Jackson性能对比

把Java对象JSON序列化,Jackson速度最快,在测试中比Gson快接近50%,FastJSON和Gson速度接近。 把JSON反序列化成Java对象,FastJSON、Jackson速度接近,Gson速度稍慢,不过差距很小。

达拉斯母牛 7万+

国社科基金申报书“选题与说明依据”用AI怎么写?借助Gemini 3 Pro一次理清研究演进逻辑

研究进展部分要明确指出已有研究的不足与局限,比如方法不足、数据或材料受限、研究视角单一等等局限,之后要找准研究切入点,自然引申出自己的研究问题。为提升课题申报书的质量,学术史梳理要遵循述评结合、中外结合、新老结合的原则,不仅“述”,更要“评”,兼顾国内研究与国际学术动态,统筹经典研究与最新成果。它是对选题的整体概述,需阐明研究的具体问题、视角以及核心概念。2)存在问题或争议:结合已有研究或实践现状,指出该领域在理论建构、测量工具、实践应用或研究结论方面仍存在的不足、空白或争议,明确研究的必要性;

智能AI让学术科研更容易 943

主流JSON引擎性能比较(GSON,FASTJSON,JACKSON,JSONSMART)

主流JSON引擎性能比较(GSON,FASTJSON,JACKSON,JSONSMART)

Sword52888的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JSON引擎性能比较(GSON,FASTJSON,JACKSON,JSONSMART)

JsonPerformanceVS主流JSON引擎性能比较(GSON,FASTJSON,JACKSON,JSONSMART) 文章目录JsonPerformanceVS前言测试目的: Purpose预告结论:Conclusion pre:操作一、硬件介绍 Hardware二、JVM配置 The Configuration of JVM三、参与测试的JSON引擎介绍 The type of Json engine四、 测试步骤五、测试结果统计六、 注意事项;七、shell脚本八、答疑九、其他 Else 前.

weixin_43706468的博客 1398

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

四种JSON类库的性能比较---Gson、FastJson、Jackson、Json-lib

本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。 JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。 目前对于Java开源的JSON类库有很多种,下面我们取4个常用的JSON库进行性能测试对比, 同时根据测试结果分析如果根据实际应用场景选择最合适的JSON库。 这4个

qq_33449307的博客 1903

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

FastJSON、Gson、Jackson 比较

1、FastJSON、Gson和Jackson性能对比 https://blog.youkuaiyun.com/accountwcx/article/details/50252657 2、各个JSON技术的比较(Jackson,Gson,Fastjson)的对比 https://blog.youkuaiyun.com/xiaoke815/article/details/52920405...

HeatDeath的博客 1907

Java常用JSON库FastJson,Gson,Jackson,Json-lib性能及特点比较,常用工具方法

Java常用JSON库FastJson,Gson,Jackson,Json-lib性能及特点比较 这是大神使用JMH做的序列化,反序列化的性能测试 https://www.xncoding.com/2018/01/09/java/jsons.html 结果如下 10W次 序列化性能FastJson>Jackson>Gson>Jsonlib 反序列化性能Gson>Jackso...

JavaEE技术进阶之路 747

JAVA面试题分享七十六:Jackson和fastjson的原理和区别?

Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Google提供的用来java对象和JSON数据之间进行映射的JAVA类库,可以将一个JSON字符转成一个java对象,反过来也OK。FastJson是阿里巴巴公司提供的一个用Java语言编写的高性能功能完善的JSON库,该库涉及的最基本功能就是序列化和反序列化。Fastjson支持java bean的直接序列化,同时也支持集合、Map、日期、Enum和泛型等的序列化。

之乎者也·的博客 1142

Json之FastJson Gson Jackson(详解)

FastJson 需要引入 fastjson-1.2.40.jar包 FastJson的介绍 JSON协议使用方便,越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的Json框架; FastJson的特点 1.FastJson数度快,无论序列化和反序列化,都是当之无愧的fast 2.功能强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 3.零依赖(没有依赖其它任

ProMonkey_C的博客 774

Java中那些常用的json库性能比较,常见json库用法示例代码(1)

System.out.println(“Java对象转化成为json字符串耗时:” + (System.currentTimeMillis() - start) + “ms”);System.out.println(“Java对象转化成为json字符串耗时:” + (System.currentTimeMillis() - start) + “ms”);person.setAddress(“广东省广州市,上海市,北京市,广东省深圳市,浙江省杭州市,”);

2401_84166794的博客 1065

gson json转map_三款主流的 JSON 解析库性能大比拼

独家授权自:开Github中文社区大家好,我是hub哥,又到了本期分享。这期我们来聊聊Java中解析JSON的三个主流类库:FastJSON、Gson和Jackson。先来看下这三货在Github上的基本数据:FastJsonGithub地址:https://github.com/alibaba/fastjsonJacksonGithub地址:https://github.com/FasterXM...

weixin_39534395的博客 317

【后端】常用JSON库Gson、Jackson、Fastjson、org.json对JSON的解析

功能GsonJacksonFastjsonorg.json对象 → JSONtoJson()→toString()JSON → 对象fromJson()修改字段支持对象直接修改再序列化支持对象直接修改再序列化支持对象直接修改再序列化put()修改字段数组访问对象 List 属性直接访问对象 List 属性直接访问对象 List 属性直接访问特点轻量、简单功能强大、企业级快速、性能好原始轻量,手动操作。

子冉冰清的博客 804

处理 JSON 对象——各 JSON 技术比较

知识扩展 目录 (1)json-lib。 1.它的缺点就是 2.并且对于复杂类型的转换, (2)jackson。 (3)Gson。 (4)FastJson。 它的特点也是 但是 因而 总结: 1.在项目选型的时候 2.若只有功能要求,没有性能要求, 3.若有性能上面的要求 注意: 各 JSON 技术比较如下: (1)json-lib。 j...

JavaDarren的博客 481

快速学习和掌握Jackson 、Gson、Fastjson

快速掌握Java项目中非常常用的三个JSON数据处理工具

勇往直前的博客 827

gson json转map_Java常用的几个Json库,性能强势对比

https://xncoding.com/2018/01/09/java/jsons.html本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于...

weixin_39906358的博客 184
上一篇: 开放 API 接口签名验证
下一篇: 安装docker
yonhu123java
博客等级 码龄14年 6粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值