Gson提供了fromJson()方法来实现从Json相关对象到Java实体的方法。

在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构。

先来看第一种:

比如json字符串为:[{“name”:”name0”,”age”:0}]

Person person = gson.fromJson(str, Person.class);

提供两个参数,分别是json字符串以及需要转换对象的类型。

第二种,转换成列表类型:

List<Person> ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType());

可以看到上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。

调试注意:

经过Gson解析成为map的数据,经常需要通过map.get(key)获取类型为Object的值,我们常需要将Object进行强制转换,转换为我们需要的类型。这里注意,若我们想将整形数字1存入json串,经gson解析后,可能会变成1.0,这样我们只能使用Double类对其进行强转,再使用Double类型的intValue()方法将其转为整形。

Gson的fromJson()方法相关推荐

  1. java gson fromjson,Gson的fromJson()方法

    Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法. 在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构. 先来看第一种: 比如jso ...

  2. Gson之toJson和fromJson方法

    Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象. Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方 ...

  3. Google Gson的使用方法及JSON 技术对比

    为什么80%的码农都做不了架构师?>>>    一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib ...

  4. Android笔记:防反编译、代码混淆中,解决第三方jar包不被混淆的一些心得,及gson防混淆方法...

    为了防止代码被反编译,一般在签名导出前需要对代码进行混淆.最近发现自己的一个项目工程在代码混淆后,使用中出现了异常.以下是自己这几天在解决代码混淆以及引入第三方jar包导致混淆出现的问题处理的一些心得 ...

  5. Android的Gson的使用方法,实现Json结构间相互转换

    一,把数组,对象,List,Map等数据结构转换成Json字符串 import java.lang.reflect.Type; import java.util.ArrayList; import j ...

  6. 【okhttp与Gson】

    1.使用okhttp 添加依赖: compile 'com.squareup.okhttp3:okhttp:3.8.1' 导入gson implementation 'com.google.code. ...

  7. Android Volley彻底解决(三),定制自己Request

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...

  8. fastJson,gosn使用小结

    2019独角兽企业重金招聘Python工程师标准>>> 一.有关Json Json作为一种轻量级的交换数据形式,由于其自身的一些优良特性比如包含有效信息多,易于阅读和解析而广受码农以 ...

  9. Android Volley完全解析3:定制自己的Request

    原文链接:http://blog.csdn.net/guolin_blog/article/details/17612763,CSDN 郭霖 经过前面两篇文章的学习,我们已经掌握了Volley各种Re ...

最新文章

  1. transmission Linux(debian)下的BT下载客户端安装
  2. android后台如何动态添加图片,android – 如何从JSON数组动态地向ImageView添加图像...
  3. Java 8系列之重构和定制收集器
  4. 如何使用QuickConnect远程访问Synology NAS
  5. Linux 命令之 chown -- 用来变更文件或目录的拥有者或所属群组
  6. Table Store: 海量结构化数据实时备份实战
  7. 【算法】排序算法——归并排序
  8. 三跨考研浙江大学计算机,在职三跨浙江大学教育硕士333非全日制考研经验贴
  9. OpenCV morphologyEx、erode、dilate、getStructuringElement (形态学算子)
  10. 使用php让浏览器刷新
  11. HTML4+CSS2 模仿一个英雄联盟官网页面
  12. 龙之谷手游微信连接授权服务器失败,龙之谷手游ios微信授权失败怎么办_龙之谷手游ios微信授权失败解决办法-66街机网...
  13. 基于时空大数据的GIS技术,推动网格化管理创新发展
  14. AcWing 95. 费解的开关 (递归位运算 详解)
  15. 基于SSM实现汽车配件商城系统
  16. 蓝懿ios网络请求bock
  17. 广告业务系统 之 核心通道 —— “日志中心-s2s监测上报”
  18. python写网络爬虫编程环境设置
  19. 博士申请 | 纽约州立大学布法罗分校邹韶峰老师招收强化学习方向全奖博士生...
  20. BeanUtils介绍

热门文章

  1. [转载] python 简单示例说明os.walk和os.path.walk的不同
  2. vue ani_ANI的完整形式是什么?
  3. Java Calendar getDisplayName()方法与示例
  4. 利用永恒之蓝入侵服务器复制文件,msf利用永恒之蓝进行漏洞攻击
  5. ruby array_在Ruby中使用Array.delete()和Array.delete_at()从Array中移除元素
  6. Spring Cache 实战:兼容所有缓存中间件!
  7. 第 5-2 课:线程池——ThreadPoolExecutor + 面试题
  8. 面试官:聊一下你对MySQL索引的理解?
  9. 别在Java代码里乱打日志了,这才是正确的打日志姿势!
  10. 复习--linux目录及文件操作