异常com.google.gson.internal.StringMap cannot cast to..原因&解决方案

Gson数据类型转换异常 java.lang.ClassCastException: com.google.gson.internal.出现原因已经解决方案 gson泛型指定 Gson数据类型转换异常 java.lang.ClassCastException: com.google.gson.internal.出现原因已经解决方案, 今天写项目发现了一个用gson做JSON串回List的数据对象时,报了这个错误,如下 List<User> userList; userList=gson.fromJson(jsonStr),Li... 阅读详情

异常信息

java.lang.ClassCastException: com.google.gson.internal.StringMap cannot cast to…

异常描述

  • 期望使用一个方法将JsonArray字符串转换为对象List,方法运行结束后,结果List中的对象不能识别为传入的T对象类型,而是识别为一个Map导致后续出错。

  • 方法如下

public static <T> List<T> getListFromJSON(String str, Class<T> type) {
        Type listType = new TypeToken<List<T>>(){}.getType();
        List<T> list = new Gson().fromJson(str, listType);
        return list;
}
  • 调用方式
List<Work> works = getListFromJSON(workJsonString, Work.class);

异常原因

  • 作为方法传入参数,Java编译过程会将泛型对象类型擦除。

解决方案

方案1

  • 直接copy方法内代码直接使用,而不通过方法传入

方案2

  • 方法如下
public static <T> List<T> stringToArray(String s, Class<T[]> clazz) {
            T[] arr = new Gson().fromJson(s, clazz);
            return Arrays.asList(arr);
        }
  • 调用方式
 List<Work> works = stringToArray(workgson, Work[].class);
googleGson JsonObject json转换包 包含以下java源文件: com.google.gson.DefaultDateTypeAdapter.class com.google.gson.ExclusionStrategy.class com.google.gson.FieldAttributes.class com.google.gson.FieldNamingPolicy.class com.google.gson.FieldNamingStrategy.class com.google.gson.Gson.class com.google.gson.GsonBuilder.class com.google.gson.InstanceCreator.class com.google.gson.JsonArray.class com.google.gson.JsonDeserializationContext.class com.google.gson.JsonDeserializer.class com.google.gson.JsonElement.class com.google.gson.JsonIOException.class com.google.gson.JsonNull.class com.google.gson.JsonObject.class com.google.gson.JsonParseException.class com.google.gson.JsonParser.class com.google.gson.JsonPrimitive.class com.google.gson.JsonSerializationContext.class com.google.gson.JsonSerializer.class com.google.gson.JsonStreamParser.class com.google.gson.JsonSyntaxException.class com.google.gson.LongSerializationPolicy.class com.google.gson.TreeTypeAdapter.class com.google.gson.TypeAdapter.class com.google.gson.TypeAdapterFactory.class com.google.gson.annotations.Expose.class com.google.gson.annotations.SerializedName.class com.google.gson.annotations.Since.class com.google.gson.annotations.Until.class com.google.gson.internal.ConstructorConstructor.class com.google.gson.internal.Excluder.class com.google.gson.internal.JsonReaderInternalAccess.class com.google.gson.internal.LazilyParsedNumber.class com.google.gson.internal.LinkedTreeMap.class com.google.gson.internal.ObjectConstructor.class com.google.gson.internal.Primitives.class com.google.gson.internal.Streams.class com.google.gson.internal.UnsafeAllocator.class com.google.gson.internal.bind.ArrayTypeAdapter.class com.google.gson.internal.bind.CollectionTypeAdapterFactory.class com.google.gson.internal.bind.DateTypeAdapter.class com.google.gson.internal.bind.JsonTreeReader.class com.google.gson.internal.bind.JsonTreeWriter.class com.google.gson.internal.bind.MapTypeAdapterFactory.class com.google.gson.internal.bind.ObjectTypeAdapter.class com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.class com.google.gson.internal.bind.SqlDateTypeAdapter.class com.google.gson.internal.bind.TimeTypeAdapter.class com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.class com.google.gson.internal.bind.TypeAdapters.class com.google.gson.reflect.TypeToken.class com.google.gson.stream.JsonReader.class com.google.gson.stream.JsonScope.class com.google.gson.stream.JsonToken.class com.google.gson.stream.JsonWriter.class com.google.gson.stream.MalformedJsonException.class 立即下载

相关推荐

半导体测试(一)

探针台是一种用于在晶圆上进行配合探针卡进行电路量测的设备,在测试过程中,探针工作站会将探针与晶圆上的每个die进行接触,以进行电性测量。在这个过程中,每个die都被测试以确保它能基本满足器件的特征或设计规格书(Specification),通常包括电压、电流、时序和功能的验证。晶圆是一个圆形的硅片,在这个半导体的基础之上,建立了许多独立的单个的电路;在所有的die都被探测(Probed)之后,晶圆被切割成独立的dice,这就是常说的die saw,所有被标示为失效的die都被报废,。

m0_37606066的博客 8435

java list gson,Gson无法将字符串值转换为List,Java

I thought that Im strong enough to play with Gson but I found some problem.I have String that I need to convert to Object. The String is generated from some xml.Here is example of 1st one:{"ClientData...

weixin_34035088的博客 275

模拟电子技术课设-压控信号发生器

正弦波产生电路的目的就是使电路产生一定频率和幅度的正弦波,我们一般在放大电路中引入正反馈,并创造条件,使其产生稳定可靠的振荡。由于图2.3-1所示电路中存在RC电路和积分电路两个延迟环节,在实用电路中,将它们“合二为一”,即去掉方波发生电路中的RC回路,使积分运算电路即作为延迟环节,又作为方变三角波电路,滯回比较器和积分运算电路的输出互为另一个电路的输入。接着对各单元电路的工作原理进行了分析,由直流稳压电源电路提供所需电压,文氏振荡器产生正弦波,滞回比较器产生方波,滞回比较器与积分器连接产生三角波。

Sulfurone的博客 5325

xxx(实体类) cannot be cast to xxx(实体类)

一、问题描述 今天在测试分页接口的时候,遇到了这个问题,xxx can be cast to xxx,意思是某实体类型不能“转化”为另一个实体类型,在开发中要尽量避免重复踩坑,以此写一篇博客来记录一下。由于问题不好复现,只能简单描述一下,我用的框架是mybatis。 二、举例说明 定义一个实体类User public class User{ //用户id Long id; //用户名 String username; //密码 String password; //获取id public L

qq_40187702的博客 7万+

游程理论提取灾害事件特征V2---基于MATLAB语言的编程实现

游程理论,灾害事件,MATLAB

EWBA_GIS_RS_ER的博客 3795

5分钟搞定mmdetection3d多模态推理可视化:从KITTI数据集到3D检测结果展示

本文提供了一份快速上手MMDetection3D进行多模态推理可视化的实战指南。文章详细介绍了从环境搭建、KITTI数据集准备,到模型选择、配置解析,再到执行多模态推理并生成3D检测结果可视化的完整流程,旨在帮助开发者在30分钟内快速验证模型并直观展示检测效果。

weixin_29051149的博客 251

异常com.google.gson.internal.StringMap cannot be cast to XXX解决方案

02-15 07:20:06.485: E/AndroidRuntime(1766): java.lang.ClassCastException: com.google.gson.internal.StringMap cannot be cast to com.bzjm.beans.Fshopinfo 这个问题困扰了我N天了,今天终于解决了。什么网上说的代码混淆都是扯淡…… 异常描述

云淡风轻的博客 1万+

R 分析裂区试验设计

裂区试验有主区部分和副区部分, 因而有主区部分误差(误差 a,简记为Ea )和副区部分误差(误差b,简记为Eb) 分别用于测验主区处理以及副区处理和主、副互作的显著性。对同一个二因素试验资料作自由度和平方和的分解,则可发现随机区组的误差项自由度和平方和分别为DFe、SSe,而裂区设计有两个误差项,其自由度和平方和分别为DFEa,DFEb, SSEa, SSEb。而区组,处理效应等各个变异项目的自由

samhuairen的专栏 8934

<转> com.google.gson.internal.StringMap cannot be cast XXX(整理)

com.google.gson.internal.StringMap cannot be cast XXX(整理) 原帖地址:http://blog.csdn.net/lonewolf521125/article/details/41116201 问题描述: I am using Gson in my application and for

b275518834的专栏 3509

四足机器人关节电机FOC控制实战:从磁编码器校准到SVPWM调试避坑指南

本文详细解析了四足机器人关节电机FOC控制实战,涵盖磁编码器校准、电流环调试和SVPWM波形优化等关键环节。通过MIT Cheetah案例展示如何解决21倍电气误差问题,并提供相序自动校正、PI参数整定等实用代码片段,帮助工程师避开永磁同步电机(PMSM)控制中的常见陷阱。

weixin_29281915的博客 490

Vue2 - 详细实现网页 “开启录音并生成音频文件,上传到服务器效果“,浏览器录制外部音频调用麦克风并传到后端,兼容全部浏览器、支持 PC 网页或手机 H5 网页、可本地播放试听(详细示例运行代码)

vue,nuxt,uniapp,网页网站,麦克风,网页录音,MediaRecorder,浏览器录音,移动端h5网页,手机端录音,web网页录音,recorder-core官方文档,Recorder,非https怎么本地录音,录音报错失败,录音后怎么播放音频,如何获取录音mp3文件,解决一直不提示麦克风权限,小白详细教程,实时录音,调用浏览器麦克风录音,浏览器不兼容,wav,mp3,vue怎么实现网页录音呢,vue2网页录音并上传到服务器,web如何实现录制音频,vue网页录音,音频录制播放和上传服务器,vu

🏆 前端领域优质创作者 6005

com.google.gson.internal.StringMap cannot be cast XXX(整理)

android项目使用Gson时报错: com.google.gson.internal.StringMap cannot be cast

沐怡旸的专栏 8373

Cadence SPB16. 6 安装流程

1.首先下载CadenceAllegroSPBorCAD16.6安装包 下载之后运行其中的setup.exe,然后先安装第一项LicenseManager 一直按next或install, 直到被询问license时,单击cancel,然后选是和finish。 2,安装Product Installtion 直接点next跳过这一步 安装完成后,点Exit退出 3.按ctrl+alt+delete打开任务管...

wangjie36的博客 5153

Gson解析泛型对象失败的解决方案

com.google.gson.internal.StringMap cannot be cast to xxx;Gson解析泛型对象失败的解决方案

技术人集结地 4289

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的&ldquo;数理统计&rdquo;课程中有一章专门讲授&ldquo;贝叶斯方法和统计决策理论&rdquo;,近十年来也给中国科学技术大学概率统计专业研究生开设过几次&ldquo;贝叶斯分析&rdquo;课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了&ldquo;贝叶斯统计推断&rdquo;和&ldquo;贝叶斯统计决策&rdquo;的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标&ldquo;*&rdquo;号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

spring中遇到的java.lang.ClassCastException中cannot be cast to报错(初学)

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。由“Student有参数构造方法”我们可以知道,配置文件创建了对象并且执行了,即问题不在配置文件和Student和School里面,那么问题只能在Mytest03里面。当Mytest03执行时,会出现如下的错误。School和Student如下。Mytest03如下。.

m0_67393413的博客 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

com.google.gson.internal.LinkedTreeMap cannot be cast to test.UserBean at t..

Gson泛型解析Json报错:com.google.gson.internal.LinkedTreeMap cannot be cast to test.UserBean

Anddroid_LanYan的专栏 1万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SpringBoot-狂神(20. Springboot+Dubbo+Zookeeper)学习笔记

上一篇 : 19. 异步、定时、邮件任务 文章目录1. 1.

圆的博客 2198

com.google .gson.JsonNull不能转换为com.google.gson.JsonObject

JsonNull 是 JsonElement 但不是 JsonObject JsonElement element = source.get(propertyName); if(!(element instanceof JsonNull)){ JsonObject propertyToBeCopied =(JsonObject)element; } ...

ben9518chen的博客 3405

Java ClassCastException: xxx cannot be cast to xxx 问题4种情况解决(Java、EasyPoi、JFreeChart、EasyExcel)

问题描述: java.lang.ClassCastException:java.util.HashMap$KeySetcannotbecasttojava.util.List 问题分析: 1、Set不能直接强转为List,强转会报错。 Map&lt;String, Integer&gt; map= new HashMap&lt;&gt;(); List&lt;String&gt; list= (List&lt;String&gt;) map.keySet(); 解决办法:使用new ...

旭东怪的博客 1万+

com.google.gson.internal.StringMap cannot be cast XXX

com.google.gson.internal.StringMap cannot be cast XXX

正在Android的学习路上 665

java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to xxx

GsonUtil.fromjson、GsonUtil.toJsonString、json与类的转换过程

Mayer97的博客 3461

cannot be cast to

项目场景: 因sql语句相对复杂,所以在mapper层重设置函数,并且在xml中写sql语句 问题描述: java.lang.ClassCastException: com.atguigu.eduservice.entity.vo.CourseInfoVo cannot be cast to com.atguigu.eduservice.entity.vo.CoursePublishVo at com.sun.proxy.$Proxy95.getPublishCourseInfo(Unknown So

qq_45283095的博客 9429

com.google.gson.internal.StringMap cannot be cast to

混淆配置里加入下面代码-keepattributes Signature -keep class sun.misc.Unsafe { *; } -keep class com.google.gson.examples.android.model.** { *; }

Pig 1251

android无法显示object标签,JSON解析的Android模型显示ClassCastException:com.google.gson.JsonObject无法转换为com.google.g...

Ion.with(getActivity()).load("https://developers.zomato.com/api/v2.1/geocode?lat=25.12819&amp;lon=55.22724").setHeader("user-key",my-user-key).asJsonArray().setCallback(new FutureCallback() {@Override...

weixin_42420393的博客 617

java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to

在做android解析服务器传来的json时遇到的错误。 服务器传来的数据格式 [{"title":"qq","aipPath":"/jeesite/userfiles/bda5e6b04dee47d6ba64386190f4d434/accept/2016/09/1474182626803_nbspd.aip","delFlag":"0"," id":"7ef6815938394fce88

小杰的专栏 2万+
上一篇: 强制Actionbar与Tab显示为一行或两行
下一篇: 如何屏蔽RecyclerView单边滑动到头阴影(fadingEdge)
tongcpp
博客等级 码龄15年 32粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值