在该方法中,我们通过调用JsonService类中的getListPerson()方法获得了Person对象列表listPerson,并将其传入JsonTools.createJsonString()方法中,生成了Person对象列表的JSON数据。将该工程发布到Tomcat上,使用浏览器访问该Web工程,可以看到如图1所示的界面,Person对象列表被成功的转化成了JSON数据。
图1 生成的JSON数据
3.在客户端解析JSON数据
在Android工程中,我们可以通过HttpURLConnection接口访问图1所示的URL来获得服务器上的JSON数据。
得到JSON数据之后,便可以通过使用前面提到的fromJson()方法,将图1 所示的JSON数据还原成对应的Person对象列表了。当然了,因为这里使用到了GSON,同样需要向Android工程中导入gson-2.2.1.jar包。具体的实现方法如下。
/* * Function : 解析JSON数据,还原成Person对象列表 * Param : jsonString 从服务器获得的Json数据 * Retuen : Person对象列表 * Author : 博客园-依旧淡然 */ public static List<Person> getListPerson(String jsonString) { List<Person> list = new ArrayList<Person>(); Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken<List<Person>>(){}.getType()); return list; }
可以看到,使用GSON解析JSON数据的代码实现也非常简单。其中,TypeToken是GSON提供的数据类型转换器,支持多种数据集合类型转换,其反射机制可以实现将解析出来的Java对象映射到对应的数据集合中。
在本实例中,同样点击Button按钮向服务器发送获取JSON数据的请求,从服务器获得JSON数据后,使用以上的代码完成对JSON数据的解析,最后将解析得到的Person对象依次显示在TextView控件中。程序运行的结果如图2所示。
图2 运行结果
以上内容是小编给大家分享的Android学习笔记45之gson解析json的全部叙述,希望大家喜欢。
相关阅读:PHP.ini安全配置检测工具pcc简单介绍
JavaScript高级程序设计(第三版)学习笔记6、7章
详解Android App中使用VideoView来实现视频播放的方法
win10系统中UserManager 总是被禁用怎么解决?
DataSet、DataTable、DataRow区别详解
升级Win10 11082复制文件时找不到进度条窗口的解决方法
深入浅析Android坐标系统
用json方式实现在 js 中建立一个map
Java的JSON格式转换库GSON的初步使用笔记
Windows跳转列表功能怎么用?