fastjson实体转换异常问题
com.alibaba.fastjson转实体遇到的一个大坑
- 问题描述
- 问题原因
- 解决方案
问题描述
项目中使用fastjson将json字符串转换为对应的实体,某天因为业务需要,实体需要增加两个属性,然后就出问题了,具体的错误日记如下所示
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: (class: com/alibaba/fastjson/parser/deserializer/FastjsonASMDeserializer_2_TeasDeliveryDetailDto,method: deserialze signature: (Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;I)Ljava/lang/Object;) Accessing value from uninitialized register 80at java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)at java.lang.Class.getConstructor0(Unknown Source)at java.lang.Class.getConstructor(Unknown Source)at com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory.createJavaBeanDeserializer(ASMDeserializerFactory.java:82)at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:639)at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:491)at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:348)at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:639)at com.alibaba.fastjson.JSON.parseObject(JSON.java:350)at com.alibaba.fastjson.JSON.parseObject(JSON.java:254)at com.alibaba.fastjson.JSON.parseObject(JSON.java:467)at com.sbp.view.MainV$7.actionPerformed(MainV.java:931)at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)at javax.swing.DefaultButtonModel.setPressed(Unknown Source)at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)at java.awt.Component.processMouseEvent(Unknown Source)at javax.swing.JComponent.processMouseEvent(Unknown Source)at java.awt.Component.processEvent(Unknown Source)at java.awt.Container.processEvent(Unknown Source)at java.awt.Component.dispatchEventImpl(Unknown Source)at java.awt.Container.dispatchEventImpl(Unknown Source)at java.awt.Component.dispatchEvent(Unknown Source)at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)at java.awt.Container.dispatchEventImpl(Unknown Source)at java.awt.Window.dispatchEventImpl(Unknown Source)at java.awt.Component.dispatchEvent(Unknown Source)at java.awt.EventQueue.dispatchEventImpl(Unknown Source)at java.awt.EventQueue.access$500(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.awt.EventQueue$3.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue$4.run(Unknown Source)at java.awt.EventQueue$4.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue.dispatchEvent(Unknown Source)at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.run(Unknown Source)
很莫名其妙。
问题原因
在网上查了不少资料,一查才发现有不少坑友啊。这个问题主要原因是当json的属性达到某一个数值时就会出现,而且不同的版本这个数值还不一样。有些朋友提到升级版本可以解决问题。我也尝试了,问题并没有解决。
解决方案
其实这个问题处理起来也挺奇葩,只要给json加减一个属性,不要碰到它的那个限制就没有问题了。
当年翻看到这篇文章,那么我想跟说得是:欢迎入坑!!
fastjson实体转换异常问题相关推荐
- 【objectMapper实体转换异常】 com.fasterxml.jackson.databind.exc.MismatchedInputException
大家好,我是烤鸭: 采坑实录,想把json数据直接转成对象,其中有个属性是list<T>: 异常 1 com.fasterxml.jackson.databind.exc.Mismatch ...
- java fastjson 泛型_解决fastjson泛型转换报错的解决方法
错误信息 Exception in thread "main" java.lang.ClassCastException: com.alibaba.fastjson.JSONObj ...
- [M]MagicTable转换异常解决方法
[M]MagicTable转换异常解决方法 参考文章: (1)[M]MagicTable转换异常解决方法 (2)https://www.cnblogs.com/yiyun/p/5259384.html ...
- java 实体属性个数_?Java中比较实用实体转换工具介绍
Java中比较实用实体转换工具介绍 文中源码地址 大家一般编码过程中,经常会遇到DO对象转化为DTO对象,对象和对象之间转换一般需要用到转换工具,毕竟使用getter/setter太过麻烦 DO:D ...
- 一次线上Redis类转换异常排查引发的思考
之前同事反馈说线上遇到Redis反序列化异常问题,异常如下: XxxClass1 cannot be cast to XxxClass2 已知信息如下: 该异常不是必现的,偶尔才会出现: 出现该异常后 ...
- Java 相同类型强制转换异常
Java 相同类型强制转换异常 参考文章: (1)Java 相同类型强制转换异常 (2)https://www.cnblogs.com/LoveShare/p/11785056.html (3)htt ...
- 字符串类型日期时间转换为Date类型解析转换异常java.text.ParseException: Unparseable date: “2019-09-27T18:31:31+08:00”
字符串类型日期时间转换为Date类型解析转换异常java.text.ParseException: Unparseable date: "2019-09-27T18:31:31+08:00& ...
- matlab从csv文件中读取时间转换异常
matlab 从 csv 文件中读取时间转换异常 最近一段时间一直在研究 matlab 读取各种数据,自以为文件读取的水平还行.可是,昨天,帮朋友读取一个 csv 文件时,时间转换却让我感到非常奇怪. ...
- Android 中关与类转换异常的问题。
下午做项目时,由于修改了一次布局,当我再次运行程序的时候,抛出异常ClassCastException 的类转换异常.我找了好半天,可是没找到原因.最后clean了下空间,没有异常了,在这里祭奠下我浪 ...
最新文章
- ARCGIS中某字段递增赋值
- 《因果科学周刊》第2期:如何解决混淆偏差?
- 成功的秘诀是什么_学习编码的10个成功秘诀
- 比ISA更简单的监管利器,谈谈关于公司上网监管的一点事儿
- LINUX环境:MySQL和Oracle开机自启动
- 【重点】LeetCode 146. LRU Cache
- Vista下调整硬盘分区大小的方法
- Spring的DI(Ioc) - 利用构造器注入
- vc ctabctrl页面切换事件_10191025一周PE/VC事件回顾|猿辅导获得10亿美元G2轮融资
- Hibernate错误记录
- 被众多车企“抛弃”、增长放缓,Mobileye值不值500亿美元?
- R语言—如何下载和使用包
- select2.js插件支持拼音搜索(最新版-4.0.6)
- PCB的作用及其包含的信息
- 我的世界空岛服务器修改地形,我的世界攻略秘籍 [WorldPainter制作空岛]—我有特别的地形技巧...
- 大数据告诉您:采用IT人才外包的优势
- win 桌面图标小箭头
- 解决WIN10“系统和压缩内存”“ntoskrnl.exe”系统空闲时占用大量CPU
- 金蝶生成凭证模板_金蝶精斗云产品的优势
- 深度学习(PyTorch)——librosa库的使用
热门文章
- 蚂蚁金服ATEC技术探索大会造访伦敦,只为讲好一个普惠金融愿景
- 3D空间转换(位移、旋转、立体呈现)
- 在ns2.35下完成柯老师lab18实验
- 前端项目如何部署到服务器实现网址访问
- 华为鸿蒙系统支持什么手机_华为鸿蒙os2.0系统支持手机 华为鸿蒙os2.0系统支持哪些型号升级...
- liquibase mysql_liquibase使用教程
- Java求三个数的最小公倍数算法改进(化境)
- php 找回密码机制流程
- springmvc使用细节
- php实现微信签到功能实现,微信小程序实现签到的日历功能