Gson的使用
来源:互联网 发布:电脑连不上网多重网络 编辑:程序博客网 时间:2024/06/08 23:07
Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象。——维基百科
Gson包的下载地址
相对于较为传统的Json解析来说,Gson在解析速度和所使用的内存在有着明显的优势。
Gson的应用主要为toJson与fromJson两个转换函数,而在使用这种对象转换之前需先创建好对象的类以及其成员才能成功的将JSON字符串成功转换成相对应的对象。
toJson方法就是讲对象类里面的内容转换为Json内容,fromJson就是从Json解析出一个类对象。
/** * Bean类,内容和JSon数据类型一一对应 */public class Info {private int mId;private String mName;public int getId() {return mId;}public void setId(int id) {this.mId = id;}public String getName() {return mName;}public void setName(String name) {this.mName = name;}public Info(int id, String name) {this.mId = id;this.mName = name;}public String getInfo() {return "mId = " + this.mId + " mName = " + mName;}}
void testGson() {Info info = new Info(123, "shawn");Gson gson = new Gson();String gsonString = gson.toJson(info);System.out.println(gsonString);Info info2 = gson.fromJson(gsonString, Info.class);System.out.println(info2.getInfo());}测试结果为:
{"mId":123,"mName":"shawn"}mId = 123 mName = shawn
Gson还可以承担一些复杂的操作,比如通过集合插入一组数据,以及从Json解析出一组数据。
void testGsonList() {List<Info> infos = new ArrayList<Info>();infos.add(new Info(111, "Tom"));infos.add(new Info(112, "Jack"));infos.add(new Info(113, "Jane"));Gson gson = new Gson();String gsonString = gson.toJson(infos);System.out.println(gsonString);Type lt = new TypeToken<List<Info>>() {}.getType();List<Info> infos2 = gson.fromJson(gsonString, lt);for (Info info2 : infos2)System.out.println(info2.getInfo());}
测试结果为:
[{"mId":111,"mName":"Tom"},{"mId":112,"mName":"Jack"},{"mId":113,"mName":"Jane"}]mId = 111 mName = TommId = 112 mName = JackmId = 113 mName = Jane
0 0
- Google-Gson的使用
- gson的使用
- Gson的使用
- android gson的使用
- android Gson的使用
- Gson的使用
- gson的使用
- Gson的使用汇总
- Gson的使用
- java gson的使用
- gson的使用
- Gson的使用
- Google Gson的使用
- Gson的嵌套使用
- Gson的使用
- Gson的详细使用
- gson的使用
- Gson的使用
- 部分开源UI项目——从github集成
- cocos2dx 3.4 Label中文显示
- 使用时间插件时出现的问题
- MongoDB集群上副本集(replica set)建立
- virtio驱动学习笔记
- Gson的使用
- Mongodb 问题汇总
- hdu 2294 Pendant (dp+矩阵快速幂)
- 2105阿里c c++研发面试(一面跪)
- Eclipse去掉注释
- 2013腾讯面经(技术类-后台开发)
- Servlet简单登陆验证实例
- 一键查询-查看联系人资料
- UVA 10494 解题报告