Gson的fromJson()方法
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()方法相关推荐
- java gson fromjson,Gson的fromJson()方法
Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法. 在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构. 先来看第一种: 比如jso ...
- Gson之toJson和fromJson方法
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象. Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方 ...
- Google Gson的使用方法及JSON 技术对比
为什么80%的码农都做不了架构师?>>> 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib ...
- Android笔记:防反编译、代码混淆中,解决第三方jar包不被混淆的一些心得,及gson防混淆方法...
为了防止代码被反编译,一般在签名导出前需要对代码进行混淆.最近发现自己的一个项目工程在代码混淆后,使用中出现了异常.以下是自己这几天在解决代码混淆以及引入第三方jar包导致混淆出现的问题处理的一些心得 ...
- Android的Gson的使用方法,实现Json结构间相互转换
一,把数组,对象,List,Map等数据结构转换成Json字符串 import java.lang.reflect.Type; import java.util.ArrayList; import j ...
- 【okhttp与Gson】
1.使用okhttp 添加依赖: compile 'com.squareup.okhttp3:okhttp:3.8.1' 导入gson implementation 'com.google.code. ...
- Android Volley彻底解决(三),定制自己Request
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17612763 经过前面两篇文章的学习,我们已经掌握了Volley各种Request ...
- fastJson,gosn使用小结
2019独角兽企业重金招聘Python工程师标准>>> 一.有关Json Json作为一种轻量级的交换数据形式,由于其自身的一些优良特性比如包含有效信息多,易于阅读和解析而广受码农以 ...
- Android Volley完全解析3:定制自己的Request
原文链接:http://blog.csdn.net/guolin_blog/article/details/17612763,CSDN 郭霖 经过前面两篇文章的学习,我们已经掌握了Volley各种Re ...
最新文章
- transmission Linux(debian)下的BT下载客户端安装
- android后台如何动态添加图片,android – 如何从JSON数组动态地向ImageView添加图像...
- Java 8系列之重构和定制收集器
- 如何使用QuickConnect远程访问Synology NAS
- Linux 命令之 chown -- 用来变更文件或目录的拥有者或所属群组
- Table Store: 海量结构化数据实时备份实战
- 【算法】排序算法——归并排序
- 三跨考研浙江大学计算机,在职三跨浙江大学教育硕士333非全日制考研经验贴
- OpenCV morphologyEx、erode、dilate、getStructuringElement (形态学算子)
- 使用php让浏览器刷新
- HTML4+CSS2 模仿一个英雄联盟官网页面
- 龙之谷手游微信连接授权服务器失败,龙之谷手游ios微信授权失败怎么办_龙之谷手游ios微信授权失败解决办法-66街机网...
- 基于时空大数据的GIS技术,推动网格化管理创新发展
- AcWing 95. 费解的开关 (递归位运算 详解)
- 基于SSM实现汽车配件商城系统
- 蓝懿ios网络请求bock
- 广告业务系统 之 核心通道 —— “日志中心-s2s监测上报”
- python写网络爬虫编程环境设置
- 博士申请 | 纽约州立大学布法罗分校邹韶峰老师招收强化学习方向全奖博士生...
- BeanUtils介绍
热门文章
- [转载] python 简单示例说明os.walk和os.path.walk的不同
- vue ani_ANI的完整形式是什么?
- Java Calendar getDisplayName()方法与示例
- 利用永恒之蓝入侵服务器复制文件,msf利用永恒之蓝进行漏洞攻击
- ruby array_在Ruby中使用Array.delete()和Array.delete_at()从Array中移除元素
- Spring Cache 实战:兼容所有缓存中间件!
- 第 5-2 课:线程池——ThreadPoolExecutor + 面试题
- 面试官:聊一下你对MySQL索引的理解?
- 别在Java代码里乱打日志了,这才是正确的打日志姿势!
- 复习--linux目录及文件操作