记 fastjson泛型转对象 第一次可以正常转,第二次就变成JSONArray 问题
在解析json数据的时候,在使用泛型对象的时候即:
public class ResultMsgDto<E> implements Serializable { private static final long serialVersionUID = 123L; private int resultCode;
private E resultObject;
private String resultMsg; // get set
}
第一次在使用
ResultMsgDto<List<ArticleDto>> resultMsg = JSON.parseObject(result, new TypeReference<ResultMsgDto<List<ArticleDto>>>() {});
把json字符串转换为 对应泛型对象的时候是可以的,因为我增加一个数据,从服务器中再次获取json字符之后,再次调用上面的方法的时候,这次没有成功,而是JSONArray 类型的数据
之后网上找到了解决方法:
1、https://github.com/alibaba/fastjson/issues/569 这里面有问题 但是已经解决了 这个时候你就要看看你的fastjson的jar包版本,你可以换一个高版本的试试
2、如果换了高版本还是不行的话,那估计你犯了跟我一样的错误
这个时候你就需要查看你的代码中,有没有 没有使用泛型而直接使用ResultMsgDto,例如下面这个错误的列子:
ResultMsgDto resultMsg = JSON.parseObject(result, new TypeReference<ResultMsgDto>() {});
这个时候就要把这语句中的泛型类型加上去,即使你用不着他对于的对象,但是还需要加上泛型
切记:解决方案:统一使用泛型类型,项目中不允许没有泛型类型的ResultMsgDto,就不会存在这个问题。
参考:http://blog.csdn.net/ykdsg/article/details/50432494 感谢这位同学的无私奉献
记 fastjson泛型转对象 第一次可以正常转,第二次就变成JSONArray 问题的更多相关文章
- 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)
6.4 工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...
- WCF 笔记 (2) - 传输泛型 List 对象
WCF 笔记 (2) - 传输泛型 List 对象 本帖介绍怎么在 WCF 中,在 Server-side 和 Client-side 之间,传递默认无法传输的 List<T>.List& ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...
- FastJson实现复杂对象序列化与反序列化
原文:http://blog.csdn.net/xqhadoop/article/details/62217954 一.认识FastJson 1.优势 fastjson是目前java语言中最快的jso ...
- Fastjson转换json到带泛型的对象(如Map)报错解决
List<CategoryDTO> categoryList = null; String categoryStr = redisService.get(RedisKeyConstant. ...
- fastJson泛型如何转换
引子 现在负责的业务 和 json 打交道比较多, 最近使用fastJson框架 json串转成泛型对象遇到了一个异常 : java.lang.ClassCastException 还原下场景 : 模 ...
- 记一起Java大对象引起的FullGC事件及GC知识梳理
背景 最近发生了一起 Java 大对象引起的 FullGC 事件.记录一下. 有一位商家刷单,每单内有 50+ 商品.然后进行订单导出.订单导出每次会从订单详情服务取100条订单数据.由于 100 条 ...
- 使用FastJSON,将对象或数组和JSON串互转
Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库.其开源的下载网址为:https://github.com/AlibabaTech/fastjson. 示例代码如下: ...
- com.alibaba.fastjson.JSONObject之对象与JSON转换方法
com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSON对象转换Java ...
随机推荐
- windows库
1.windows库的存在方式 1.1.静态库:不能被加载的程序,可以理解为目标程序的归档:*.lib. 1.2.动态库:是可以被加载的程序:*.dll. 2.静态库 2.1.静态库的特点 目标 ...
- 20145309《Java程序设计》第八周学习总结
日志 •java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类 ...
- Centos7 ActiveMQ 安装并配置为开机启动
第一步, 环境准备 更新CentOS7 ,安装epel-release,安装JDK,关闭防火墙 # yum clean all && yum update# yum install - ...
- swift设计模式学习 - 装饰模式
移动端访问不佳,请访问我的个人博客 设计模式学习的demo地址,欢迎大家学习交流 装饰模式 在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真 ...
- Scrapy之Scrapy shell
Scrapy Shell Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据 ...
- ubuntu安装python MySQLdb模块
本文讲述了python安装mysql-python的方法.分享给大家供大家参考,具体如下: ubuntu 系统下进行的操作 首先安装了pip工具 ? 1 sudo apt-get install py ...
- caffe2+cuda+Ubuntu16.04(u盘安装)
安装caffe2 预先准备.安装gflags及autoconf及GLOG https://github.com/caffe2/caffe2/issues/1810 一.下载源代码通过网盘 https: ...
- codeforces 484B - LubaAndTicket - 贪心
2017-08-22 10:54:00 writer:pprp 题意如下: 给你6个数组,你的操作可以是更改某一位的数字成为0-9之间任意一个数,要求前三个数字的和与后三个数字的和相等. 问你最少用几 ...
- Python学习札记(六) Basic3 List和Tuple
参考:List Tuple Note List List是Python中一个很吊的数据结构,类似C语言的数组. 1.定义:listname = [variable 1, v2, v3, ..., vn ...
- 04_zookeeper客户端使用及常用命令
zookeeper客户端的使用 (1) 首先找到zookeeper自带客户端的位置 简单来说,zookeeper自带客户端位于zookeeper安装目录的bin目录下,以我的为例: (2) 运 ...