Gson的基本用法
来源:互联网 发布:淘宝等级排行 编辑:程序博客网 时间:2024/05/17 15:05
示例:
import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.HashMap;import java.util.Map; import com.google.gson.Gson;import com.google.gson.reflect.TypeToken; class User{ public User(String name,int age,StringBuffer sex,boolean isChild){ this.name = name; this.age = age; this.sex = sex; this.isChild = isChild; } private String name; private int age; private StringBuffer sex; private boolean isChild; public String toString(){ return "{name="+name+";age="+age+";sex="+sex+";isChild="+isChild+"}"; } public int hashCode(){ return name.hashCode()*100+age; }} public class GsonTest { public static void main(String[] args) { Gson gson = new Gson(); System.out.println("1普通的Bean的转换**************************"); System.out.println("将一个Bean转换成为json字符串->"); User user1 = new User("凤姐",12,new StringBuffer("未知"),true); System.out.println("转换之前的user1"+user1); String json = gson.toJson(user1); System.out.println("User对象转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean->"); User user2 = gson.fromJson(json, User.class); System.out.println("转换成为的user2=="+user2); System.out.println(); System.out.println("2Collection集合的转换**************************"); System.out.println("将一个Bean的List集合转换成为json字符串->"); Collection<User> userList1 = new ArrayList<User>(); for(int i=0;i<3;i++){ User user = new User("如花",10+i,new StringBuffer("男"),false); userList1.add(user); } json = gson.toJson(userList1); System.out.println("User的List集合对象转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean的List集合->"); Collection<User> userList2 = gson.fromJson(json, new TypeToken<Collection<User>>(){}.getType()); System.out.println("转换成为的User的List集合,userList2="+userList2); System.out.println(); System.out.println("3Array数组的转换**************************"); System.out.println("将一个Bean的Array数组转换成为json字符串->"); User [] userArray1 = new User[3]; for(int i=0;i<userArray1.length;i++){ userArray1[i] = new User("芙蓉",20,new StringBuffer("人妖"),true); } json = gson.toJson(userArray1); System.out.println("User的数组对象转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean的数组对象->"); User [] userArray2 = gson.fromJson(json, new TypeToken<User[]>(){}.getType()); System.out.println("转换成为的User的数组对象,userArray2="+Arrays.toString(userArray2)); System.out.println(); System.out.println("4Map的转换**************************"); System.out.println("将一个Bean的Map转换成为json字符串->"); Map<String,User> map1 = new HashMap<String,User>(); for(int i=0;i<3;i++){ map1.put(""+(i+10), userArray1[i]); } json = gson.toJson(map1); System.out.println("User的Map集合转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean的数组对象->"); Map<String,User> map2 = gson.fromJson(json, new TypeToken<Map<String,User>>(){}.getType()); System.out.println("转换成为的User的数组对象,map2=="+map2); }}
打印结果:
1普通的Bean的转换**************************将一个Bean转换成为json字符串->转换之前的user1{name=凤姐;age=12;sex=未知;isChild=true}User对象转换成为Json字符串,json==={"name":"凤姐","age":12,"sex":"未知","isChild":true}***************************将一个json字符串转换成为Bean->转换成为的user2=={name=凤姐;age=12;sex=未知;isChild=true}2Collection集合的转换**************************将一个Bean的List集合转换成为json字符串->User的List集合对象转换成为Json字符串,json===[{"name":"如花","age":10,"sex":"男","isChild":false},{"name":"如花","age":11,"sex":"男","isChild":false},{"name":"如花","age":12,"sex":"男","isChild":false}]***************************将一个json字符串转换成为Bean的List集合->转换成为的User的List集合,userList2=[{name=如花;age=10;sex=男;isChild=false}, {name=如花;age=11;sex=男;isChild=false}, {name=如花;age=12;sex=男;isChild=false}]3Array数组的转换**************************将一个Bean的Array数组转换成为json字符串->User的数组对象转换成为Json字符串,json===[{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},{"name":"芙蓉","age":20,"sex":"人妖","isChild":true}]***************************将一个json字符串转换成为Bean的数组对象->转换成为的User的数组对象,userArray2=[{name=芙蓉;age=20;sex=人妖;isChild=true}, {name=芙蓉;age=20;sex=人妖;isChild=true}, {name=芙蓉;age=20;sex=人妖;isChild=true}]4Map的转换**************************将一个Bean的Map转换成为json字符串->User的Map集合转换成为Json字符串,json==={"10":{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},"11":{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},"12":{"name":"芙蓉","age":20,"sex":"人妖","isChild":true}}***************************将一个json字符串转换成为Bean的数组对象->转换成为的User的数组对象,map2=={10={name=芙蓉;age=20;sex=人妖;isChild=true}, 11={name=芙蓉;age=20;sex=人妖;isChild=true}, 12={name=芙蓉;age=20;sex=人妖;isChild=true}}
Gson是Google的开源项目(项目主页:https://code.google.com/p/google-gson/),
Gson在线帮助文档:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html
Gson包下载地址:https://google-gson.googlecode.com/files/google-gson-2.2.4-release.zip
参考文章:
http://qindongliang1922.iteye.com/blog/1915710
http://www.cnblogs.com/happyPawpaw/archive/2012/10/23/2735697.html
http://zhiweiofli.iteye.com/blog/1684236
0 0
- Gson的基本用法
- Gson的基本用法
- Json、Gson的基本用法
- Gson之基本用法
- Google Gson 基本用法
- Gson基本用法
- Gson的简要用法
- Gson的简单用法
- Gson的用法
- GSON的用法
- Gson的简单用法
- google Gson 的用法
- Gson的基础用法
- GSON的用法
- 记录下android json,Gson基本用法
- Gson 的基本使用介绍
- GSON的TypeAdapter系列用法
- Gson用法
- 测试一下
- 三角形类2
- PCA算法与Opencv实现
- 第三周作业-循环与判断语句
- linux下Postgresql-9.2安装及数据库的创建过程
- Gson的基本用法
- MyEclipse中防止代码格式化时出现换行的情况的设置
- Android 使用【AIDL】调用外部服务
- 工厂方法 (java版)
- vector 查找/查找和对比结构体元素值
- iOS页面跳转及数据传递
- OFtest原理
- 验证用户名长度的正则表达式
- = =