`
fly_宇光十色
  • 浏览: 64678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gson转换时遇到的一个错误

 
阅读更多

        最近在做一个联动列表功能的时候,遇到一个非常奇怪的错误。刚点进去页面就会卡住假死。看了代码感觉没啥问题。然后一步步排查。

       首先我以为是数据量比较大,把页面卡住了。打印出从服务器取得的json字串发现不是很多。

       然后注掉取数据代码,从本地模拟数据加载,发现没问题。这好奇怪。

       我又把adapter的notifyDataSetChanged放到handler去执行,结果还是不行。。

       控制台一直没有错误信息。。。

       后来发现一个打印信息,原来公司使用了一个自己的统计工具(类似友盟),所以我的异常信息都被拦截了,没有打印到控制台。查看工具的打印信息,里面有个gson的错误,

java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to cn.XXX.XXX.sale.bean.SubCategory

 

      说明在json转换成集合的时候报错了。我的分类实体里有一个子类集合的属性。我在声明的时候 private List subCategoryList;

只这样是不行的! private List<SubCategory> subCategoryList;就可以完美转换了!

另附gson转换代码

List<Category> tmp = gson.fromJson(categorrStr, new TypeToken<List<Category>>(){}.getType());

 

0
0
分享到:
评论

相关推荐

    GSON-2.85.rar

    在遇到错误“com.google.gson.JsonObject.keySet()Ljava/util/Set”时,可能的原因有: 1. **版本冲突**:可能当前项目中使用的Gson版本与阿里云SDK中的版本不兼容,导致某些API的调用方式发生了变化。 2. **代码...

    谷歌 Gson2.8.0 依赖包、文档和源码

    谷歌Gson库是Java开发中广泛使用的JSON解析和序列化工具,版本2.8.0是其一个稳定且功能丰富的版本。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...

    gson包重复冲突,项目不能正常编译1

    Gson是一个Java库,用于将Java对象转换为JSON字符串,以及从JSON字符串反序列化回Java对象,广泛应用于Android开发中。 错误产生的原因是项目同时通过两个不同的路径引用了Gson库:一方面可能是直接在项目的build....

    GSON库源码文档

    在转换过程中遇到异常时,GSON会抛出`JsonSyntaxException`、`JsonParseException`等,便于开发者捕获并处理错误。 总之,GSON库在处理JSON数据时提供了强大而灵活的解决方案,其源码解析有助于开发者理解其内部...

    gson2.8版本jar包

    在反序列化过程中遇到不匹配的数据类型时,Gson会提供更清晰的错误信息,帮助开发者快速定位问题。 在使用Gson进行序列化时,可以通过注解来控制特定字段的行为。例如,`@Expose`注解可以指定哪些字段应该被序列化...

    使用gson解析json

    3. 错误处理:在解析过程中遇到错误,如JSON格式不正确,Gson会抛出异常,需要捕获并处理。 总结,Gson为Java开发者提供了简洁、高效的JSON处理方式,无论是简单的数据转换还是复杂的序列化需求,都能轻松应对。在...

    gson解析工具类封装

    本文将深入探讨如何封装一个Gson解析工具类,以优雅地处理JSON数据,尤其是避免在解析过程中遇到`String`为`null`时产生的错误。 首先,我们需要引入Gson库。如果你的项目是Maven项目,可以在pom.xml文件中添加以下...

    Node.js-Gson容错解析器

    7. **容错模式**:在解析过程中遇到错误时,可以开启Gson的容错模式,通过捕获异常并进行适当处理,避免程序中断。 在`Gson-adapter-master`这个压缩包文件中,可能包含了一个关于Gson适配器的示例项目或库,它可能...

    gson-2.2.4.jar

    例如,你可以通过`Gson().toJson(yourObject)`将一个Java对象转换为JSON格式。 2. JSON反序列化:Gson也支持将JSON字符串解析回相应的Java对象。这在接收服务器响应或读取JSON文件时很有帮助。你可以使用`Gson()....

    gson工具jar包

    10. **错误处理**:在解析过程中遇到问题,如JSON格式错误或类型不匹配,Gson会抛出异常,便于开发者调试和处理。 了解并熟练掌握这些知识点,将使你在处理JSON数据时游刃有余。Gson库的易用性和灵活性使其成为Java...

    gson-2.5.jar

    通过`Gson()`构造函数创建一个Gson实例后,你可以使用`toJson()`方法将Java对象转换为JSON格式的字符串,而`fromJson()`方法则可以将JSON字符串还原为相应的Java对象。 2. **对象映射机制** Gson通过反射机制自动...

    gson[json格式转换].zip

    在转换过程中遇到问题时,Gson会抛出异常,如`JsonSyntaxException`,`JsonParseException`等,帮助开发者定位问题。 在实际开发中,Gson库广泛应用于Android和Java Web服务中,简化了JSON数据的处理,提高了开发...

    gson2.7相关jar包

    Gson 2.7是这个库的一个版本,提供了许多增强的功能和改进,以更好地支持JSON序列化和反序列化。 在Gson 2.7中,有几个重要的知识点值得我们深入探讨: 1. **API稳定性和兼容性**:Gson 2.7在设计时注重了API的...

    gson-2.8.5.jar

    8. **错误处理**:在序列化或反序列化过程中遇到问题时,Gson会抛出异常,如`JsonSyntaxException`、`JsonParseException`等,帮助开发者识别并解决错误。 9. **性能优化**:Gson设计得相当高效,它避免了不必要的...

    最新gson jar包+源码+文档 gson-2.3.1.jar

    例如,你可以创建一个`Gson`实例来将Java对象转换成JSON字符串,或者使用`fromJson()`方法将JSON文本解析为Java对象。 3. **gson-2.3.1-sources.jar**:这个文件包含了Gson库的源代码。开发者可以查看源码来深入...

    Gson最新依赖jar(带源码)

    下面是一个简单的使用示例,展示了如何使用Gson进行对象的序列化和反序列化: ```java import com.google.gson.Gson; public class User { private String name; private int age; // 构造函数、getters和...

    GSON源码完整版

    4. **错误处理**:当遇到无效的JSON数据或不匹配的Java类型时,GSON如何处理异常。 总之,GSON的源码是学习Java JSON处理、反射、类型转换和设计模式的宝贵资源。通过深入研究,不仅可以理解其工作原理,还可以为...

    gson-2.7.jar.zip

    4. 序列化Java对象:反过来,如果你有一个Java对象需要转换成JSON,可以使用Gson的`toJson()`方法。比如,`Gson().toJson(user)`会返回一个表示User对象的JSON字符串。 5. 处理复杂数据结构:Gson能处理嵌套的JSON...

    google-gson-2.2.4

    谷歌的Gson库是Java开发中的一个强大工具,主要用于JSON数据的序列化和反序列化。这个"google-gson-2.2.4"版本是Gson库的一个稳定发行版,发布于几年前,但至今仍被许多项目所使用。在这个版本中,我们可以期待一些...

    Google Gson 2.8.4 - 谷歌的Json解析包

    Gson 2.8.4是这个库的一个较新版本,包含了对JSON序列化和反序列化的优化以及对Java 9新特性的支持。 Gson的核心功能在于将Java对象转换为JSON字符串,同时也能够将JSON文本解析为等效的Java对象。这使得在处理JSON...

Global site tag (gtag.js) - Google Analytics