java lang保_android – Gson中的RuntimeException解析JSON:无法调用受保护的java.lang.ClassLoader()而没有args...
问题是你试图直接将系统提供的类(Location)转换为JSON.而且,正如您所看到的,在序列化内部状态/ Java特定事物时会遇到问题. JSON是一种传递信息的半通用方式.
查看Location类,我只需创建一个自定义Gson Serializer和Deserializer并完成它.你真正感兴趣的是GPS数据,而不是类本身的内部.您只需使用getter构建包含序列化程序中所需信息的JSON,然后在Deserializer中创建一个新的Location实例,并使用公共setter从提供的JSON中填充信息.
class LocationSerializer implements JsonSerializer
{
public JsonElement serialize(Location t,Type type,JsonSerializationContext jsc)
{
JsonObject jo = new JsonObject();
jo.addProperty("mProvider",t.getProvider());
jo.addProperty("mAccuracy",t.getAccuracy());
// etc for all the publicly available getters
// for the information you're interested in
// ...
return jo;
}
}
class LocationDeserializer implements JsonDeserializer
{
public Location deserialize(JsonElement je,JsonDeserializationContext jdc)
throws JsonParseException
{
JsonObject jo = je.getAsJsonObject();
Location l = new Location(jo.getAsJsonPrimitive("mProvider").getAsString());
l.setAccuracy(jo.getAsJsonPrimitive("mAccuracy").getAsFloat());
// etc,getting and setting all the data
return l;
}
}
现在在您的代码中使用GsonBuilder并注册类:
...
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Location.class,new LocationDeserializer());
gsonBuilder.registerTypeAdapter(Location.class,new LocationSerializer());
Gson gson = gsonBuilder.create();
...
这应该照顾它.
java lang保_android – Gson中的RuntimeException解析JSON:无法调用受保护的java.lang.ClassLoader()而没有args...相关推荐
- JS中生成与解析JSON
js中生成json对象 js中解析json字符串: 1.eval("..."): var a_id=eval('{"name":123}'); 如果eval中的 ...
- JS中生成和解析JSON
1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...
- java 彩信发送_Android系统中发送短信和彩信的代码
导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. String body="this is sms demo" ...
- Flink java作为消费者连接虚拟机中的kafka/或本地的kafka,并解决java.net.UnknownHostException报错
kafka的安装与配置请参考:https://blog.csdn.net/weixin_35757704/article/details/120488287 首先在kafka中创建一个topic,名称 ...
- java 音乐id3_音乐ID3 中 专辑封面解析(APIC帧)
ID3V2 中 APIC 帧标识 专辑封面.前几天 百度 谷歌 都没有找到具体的说明.有点小伤人. 最好参考 Android 中的 id3.cpp 以及一个java 开源 id3 库.找到这里的规格 ...
- java ucs2解码,短信中的的 UCS2的编码与解码步骤(java)
/** * UCS2解码 * * @param src * UCS2 源串 * @return 解码后的UTF-16BE字符串 */ public static String DecodeUCS2(S ...
- SpringBoot中使用FastJson解析Json数据
场景 1.SpringBoot默认配置的是Jackson. 2.项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 ...
- java后台解析json并保存到数据库_[Java教程]ajax 发送json 后台接收 遍历保存进数据库...
[Java教程]ajax 发送json 后台接收 遍历保存进数据库 0 2017-09-25 15:00:23 前台怎么拿参数的我就不管了我也不会 反正用这个ajax没错 ajax 代码 一定要写 ...
- php中的空格键,使用PHP使用数组键中的空格解析Json响应
我收到一个邮政编码API的回复.但是,由于两个词之间存在空格,我无法弄清楚"地名"中的值.不太确定从这里去哪里. object(stdClass)#1 (4) { ["p ...
最新文章
- 嵌入式开发在过去20年中是如何演变的
- LeetCode刷题感想
- 快速设置UITableView不同section对应于不同种类的cell
- AAAI 2021最佳论文亚军:Attention+积分梯度=归因解释新方法
- 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 1
- 怎么判断自己适不适合读博士?
- Hadoop入门-单机伪分布式配置
- self-attention的作用,理解
- 深度剖析 Linux 的 3 种“拷贝”命令
- Nginx + uWSGI + Flask + Vhost
- 在远程MQ上启动应用程序时,IBM MQ更改用户标识
- POI操作Excel详解,HSSF和XSSF两种方式
- Connectify让你的本本变成无线接入点
- matlab 2010无法运行程序,图文操作win7系统运行matlab2010找不到指定的程序的还原步骤...
- mybatis-plus自定义sql注入器
- 计算机策略组怎么设置,怎么设置win7系统中的组策略
- 七牛云 播放的时候显示错误信息:视频解析异常 请重试
- kafka中副本数据同步策略 ,acknowledge的发送策略,kafka的数据可靠性保证
- 当 CPU 摸鱼时,它到底在干什么?
- 拒绝一心多用的工作学习方式(转)