问题是你试图直接将系统提供的类(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...相关推荐

  1. JS中生成与解析JSON

    js中生成json对象 js中解析json字符串: 1.eval("..."): var a_id=eval('{"name":123}'); 如果eval中的 ...

  2. JS中生成和解析JSON

    1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...

  3. java 彩信发送_Android系统中发送短信和彩信的代码

    导读热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. String body="this is sms demo" ...

  4. Flink java作为消费者连接虚拟机中的kafka/或本地的kafka,并解决java.net.UnknownHostException报错

    kafka的安装与配置请参考:https://blog.csdn.net/weixin_35757704/article/details/120488287 首先在kafka中创建一个topic,名称 ...

  5. java 音乐id3_音乐ID3 中 专辑封面解析(APIC帧)

    ID3V2 中 APIC 帧标识 专辑封面.前几天 百度 谷歌 都没有找到具体的说明.有点小伤人. 最好参考  Android 中的 id3.cpp 以及一个java 开源 id3 库.找到这里的规格 ...

  6. java ucs2解码,短信中的的 UCS2的编码与解码步骤(java)

    /** * UCS2解码 * * @param src * UCS2 源串 * @return 解码后的UTF-16BE字符串 */ public static String DecodeUCS2(S ...

  7. SpringBoot中使用FastJson解析Json数据

    场景 1.SpringBoot默认配置的是Jackson. 2.项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 ...

  8. java后台解析json并保存到数据库_[Java教程]ajax 发送json 后台接收 遍历保存进数据库...

    [Java教程]ajax 发送json 后台接收 遍历保存进数据库 0 2017-09-25 15:00:23 前台怎么拿参数的我就不管了我也不会 反正用这个ajax没错 ajax 代码   一定要写 ...

  9. php中的空格键,使用PHP使用数组键中的空格解析Json响应

    我收到一个邮政编码API的回复.但是,由于两个词之间存在空格,我无法弄清楚"地名"中的值.不太确定从这里去哪里. object(stdClass)#1 (4) { ["p ...

最新文章

  1. 嵌入式开发在过去20年中是如何演变的
  2. LeetCode刷题感想
  3. 快速设置UITableView不同section对应于不同种类的cell
  4. AAAI 2021最佳论文亚军:Attention+积分梯度=归因解释新方法
  5. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 1
  6. 怎么判断自己适不适合读博士?
  7. Hadoop入门-单机伪分布式配置
  8. self-attention的作用,理解
  9. 深度剖析 Linux 的 3 种“拷贝”命令
  10. Nginx + uWSGI + Flask + Vhost
  11. 在远程MQ上启动应用程序时,IBM MQ更改用户标识
  12. POI操作Excel详解,HSSF和XSSF两种方式
  13. Connectify让你的本本变成无线接入点
  14. matlab 2010无法运行程序,图文操作win7系统运行matlab2010找不到指定的程序的还原步骤...
  15. mybatis-plus自定义sql注入器
  16. 计算机策略组怎么设置,怎么设置win7系统中的组策略
  17. 七牛云 播放的时候显示错误信息:视频解析异常 请重试
  18. kafka中副本数据同步策略 ,acknowledge的发送策略,kafka的数据可靠性保证
  19. 当 CPU 摸鱼时,它到底在干什么?
  20. 拒绝一心多用的工作学习方式(转)

热门文章

  1. 狂神说学习笔记 Java流程控制
  2. 121_Power Query之R.Execute的read.xlsxODBC
  3. Java 约瑟夫环(循环链表解决)
  4. PyTorch入门-简单图片分类
  5. 用 Python 下载抖音无水印视频
  6. 十行Python以内代码能有什么高端操作?
  7. 大数据平台之初体验 | 网易猛犸 | 数据仓库、调度系统、数据质量、离线与实时计算应有尽有。
  8. Pandas知识点-合并操作combine
  9. 傅里叶变换的意义 .
  10. 深度学习-为什么用激活函数