数据解析框架之Gson
GSON是由Google提供的,用于JAVA对象与JSON字符串之间互相转换的一个解决方案。
用处很多,比如在前后台通讯中,前台先将java对象转化成JSON,然后将JSON传输给后台交由后台处理——相较于JAVA对象来说,JSON不仅传输起来更方便,而且处理起来也更加灵活,不仅可以用JAVA处理,也可以用诸如PHP等其他语言。
方法:
gson.toJson()):就是通过Gson我们可以把java中的对象转换成Json字符串.
gson.fromJson():把Json字符串转换为一个对象.
获取泛型参数的类型的方法:Type token = new TypeToken<Student>(){}.getType();
演示代码:
实体类:
import java.util.List;
public class Student {
public String name;
public int age;
public List<String> score;
}
String jsonData = "{'score':['90','20','50'],'age':18,'name':'张三'}";
Gson gson = new Gson();
Type token = new TypeToken<Student>(){}.getType();
Student student = gson.fromJson(jsonData, Student.class);
System.out.println("name=" + student.name);
Student student2 = gson.fromJson(jsonData, token);
System.out.println("age=" + student2.age);
Student student1 = new Student();
student1.age = 18;
student1.name = "张三";
ArrayList<String> list = new ArrayList<>();
list.add("90");
list.add("20");
list.add("50");
student.score = list;
String s1 = gson.toJson(student1);
System.out.println("s1:"+s1);
String s2 = gson.toJson(student1,token);
System.out.println("s2:"+s2);
输出结果:

数据解析框架之Gson的更多相关文章
- Android网络请求与数据解析,使用Gson和GsonFormat解析复杂Json数据
版权声明:未经博主允许不得转载 一:简介 [达叔有道]软件技术人员,时代作者,从 Android 到全栈之路,我相信你也可以!阅读他的文章,会上瘾!You and me, we are family ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 数据解析框架之FastJson
演示实体类 import java.util.List; public class Student { public String name; public int age; public List& ...
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
- iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态
一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 ...
- Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52503057 前言:前面一篇分析了medi ...
- [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 五.如何做全站采集 场景模拟 接上一篇, JD SKU对应的店铺信息是异步加载 ...
- 使用Gson轻松解决复杂结构的Json数据解析
转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50961803 JSON简介 JSON(JavaScript Object Notati ...
随机推荐
- Oracle12cCDB和PDB数据库的启动与关闭说明
在Oracle 12c中,分CDB 和PDB,他们的启动和关闭操作整理如下. 1 Container Database (CDB) 对于CDB,启动和关闭与之前传统的方式一样,具体语法如下: STAR ...
- deep_learning_Function_tensorboard的使用
数据可视化(网页能打开,但是没有数据):https://jingyan.baidu.com/article/e9fb46e1c55ac93520f7666b.html
- ORALCE 数据库字符串处理、常用函数
.字符串转日期: to_date(paramStr,'YYYYMMDDHH24MISS') to_date(paramStr,'yyyy-MM-DD') to_date(paramStr,'yyyy/ ...
- Nginx负载均衡和HTTPS配置及集群搭建
Nginx的高可用(HA)配置 1.高可用配置结构(画图说明) 2.KeepAlived的安装和配置 1.安装 yum install keepalived 2.keepalived.conf配置文件 ...
- Java语言基础(13)
1 继承(二) 案例:Demo1 public class Demo1 { public static void main(String[] args) { Bmw bmw = new Bmw(); ...
- kotlin函数和函数式表达式
这次的写法可能有些怪异,但是如果熟悉java8的Lambda表达式的话其实理解起来很顺其自然[参考博客:http://www.cnblogs.com/webor2006/p/7705130.html] ...
- Linux之screen用法
Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果. Screen功能说明: 简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这 ...
- UVa101 The Blocks Problem(不定长数组vector)
The Blocks Problem 书上的一道例题,代码思路比较清晰,可以看懂. 相关知识: 若a是一个vector,则: a.size():读取它的大小 a.resize():改变大小 a.pus ...
- Autel MaxiIM IM608:如何更新和一些评论
MaxiIM IM608是最先进的,因此是与众不同的一种钥匙编程和诊断工具,它将先进的钥匙编程,所有系统医学和先进的服务融合在一个主要基于10.1英寸触摸屏的机械人中.它配备了XP400关键计算机用户 ...
- Error from server (ServiceUnavailable): the server is currently unable to handle the request
grep image /root/kubernetes-metrics-server/kubernetes-metrics-server/metrics-server-deployment.yaml ...