整了两天,我C,不得不骂一句,这该死的代码!!!
我遇到的问题就是用Gson序列化和反序列化对象以及对象的List过程中反序列化出错。
其实,最近在做一个同步的项目,客户端和云端都有一个相同的对象,基于GAE的云端对象的序列化和反序列化完全正常,就TM的在客户端有异常,不是我脾气暴,这实
在是太让人无奈了,反复的测啊测啊,试啊试啊,唉,java真是开源的么???
先说解决方案,咱再看问题。
解决方案:实体类中必须要有一个无参构造函数;而且绝对不能有太特别参数的
构造函数,例如Cursor类型的作为参数。
先贴代码
一、实体类BabyInfo.java:
此对象就是一个婴儿信息,定义一些属性,然后构造函数,然后是一些get和set。
二、序列化和反序列化类BabyDataSerialiseHelper.java:
这个里面提供了将对象序列化成字符串toJson()和从字符串反序列化成对象fromJson_BabyInfo()或者对象的List集合fromJson_BabyInfoList()的方法。
三、测试类BabyDataSerialiseHelperTest.java:
这里面就是定义BabyInfo对象和List<BabyInfo>对象,然后序列化和反序列化,
打印出结果。
可是总是不行,反序列化BabyInfo和List<BabyInfo>对象时就是出错,而且还不
抛
出异常呢,异常直接被隐藏掉了。悲催欲死啊。
经过反复比较和调换,才知道,实体类中少了个无参构造函数,而且多了个
Cursor
类型的构造函数,唉,鬼知道是这个原因啊,网上搜的都不靠谱,就一个
提到要用无
参构造函数的,可是还是错,鬼知道Cursor形参的构造函数也会错啊。
分享到:
相关推荐
Gson解析之自定义序列化和反序列化的代码例子,但后端对同一个字段给的数据类型与文档不一致时的处理
Gson 中解决 json 反序列化时相同属性对应不同类型的值的问题(代码),对应文章链接:https://blog.csdn.net/ZiFung_Yip/article/details/89143255
fastJosn Gson Jackson 序列化和反序列化所需要的jar,已经全部验证过,请放心使用咯
实现了通过gson对enum的自定义转化过程,不需要预先定义enmu,并且不需要修改gson源码,在框架顶层处理基本可以达到对enum的抽象管理。
fastjson、gson、jackson序列化和反序列化所用json文件
1.3 数组和List的序列化/反序列化 1.3.1 数组的序列化/反序列化 1.3.2 List集合的序列化/反序列化 1.4 Set和Map的序列化/反序列化 1.4.1 Set集合的序列化/反序列化 1.4.2 Map集合的序列化/反序列化 1.5 Map的value为...
主要讲述Json序列化与反序列化,主要使用Gson、FastJson、Jackson实现
集成多枚举类型统一序列化/反序列化处理,再也不用创建多个Adapter了 http://blog.csdn.net/atm008/article/details/51733849
Android基于Gson序列化和反序列化,用于存储对象到xml和从xml中解析对象
gson序列化,反序列化工具包,用来做工具报表使用,
【Android Protobuf 序列化】Protobuf 性能测试 ( fastjson 序列化与反序列化 | gson 序列化与反序列化 | 三种序列化与反序列化性能对比 ) https://hanshuliang.blog.csdn.net/article/details/116199062 【Android ...
gson-2.0.1.jar-Json解析工具,序列化反序列化,实体类互转Json,免费jar包
Gson jackson fastjson LoganSquare 使用demo Gson jackson fastjson LoganSquare 使用demo
格森·菲尔FHIR的Gson序列化类概述该库包含所有491个FHIR资源和STU3定义的引用类型,并建模为带有适当Gson序列化注释的旧Java类(POJO)。 这是使用基于JSON的FHIR事务序列化的Java应用程序的便捷库。伪像Maven:...
各种序列化工具类,包括Gson, Jackson, FastJson, ProtoBuf以及proto.exe,希望大家喜欢
protostuff fastjson gson 高性能序列化jar包
Gson反序列化原理 原理简述 gson反序列化主要分为两个过程: 根据TypeToken创建出对象 根据json字符串解析数据,对对象属性赋值 对象的创建 ConstructorConstructor.get 先尝试获取无参构造函数 失败则尝试...
本文将测试这三个类库在JSON序列化和反序列化的方面表现,主要测试JSON序列化和反序列化的速度。为了防止由于内存导致测试结果出现偏差,测试中对JVM内存配置-Xmx4g -Xms4g。本来写了两种fastjson和gson
Google gson库能够实现定制化的序列化和反序列操作,能够简化Java序列化和反序列化操作
可以将一个JSON字符串转成一个Java对象(反序列化),或者反过来(序列化)。 GSON地址:google/gson (github.com) Android引入GSON: implementation ‘com.google.code.gson:gson:2.9.0’ Gson 是 Google 提供的...