java转换json的实用工具-Gson
来源:互联网 发布:linux系统安全 编辑:程序博客网 时间:2024/05/16 17:25
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。比之前使用的json-lib好用很多,特别是gson对日期的操作比起json-lib更是天壤之别.不多说了直接上代码
Gson的应用主要为toJson与fromJson两个转换函数,而在使用这种对象转换之前需先创建好对象的类型以及其成员才能成功的将JSON字符串成功转换成相对应的对象。
一、将对象转换成json
Student s1=new Student();s1.setName("张三");s1.setBirthday(new Date());//设置日期格式Gson gson=new GsonBuilder().setDateFormat("yyyy/MM/dd HH:mm:ss").create();String s=gson.toJson(s1);System.out.println(s);
{"name":"张三","birthday":"2013/06/28 22:43:27"}
二、将对象转换成json
Student s1=new Student();s1.setName("张三");s1.setBirthday(new Date());Student s2=new Student();s2.setName("李四");s2.setBirthday(new Date());List<Student> list=new ArrayList<Student>();list.add(s1);list.add(s2);//设置日期对象的格式Gson gson=new GsonBuilder().setDateFormat("yyyy/MM/dd HH:mm:ss").create();String str=gson.toJson(list);
结果
[{"name":"张三","birthday":"2013/06/28 22:45:23"},{"name":"李四","birthday":"2013/06/28 22:45:23"}]
三、将json转换成对象
这里需要注意必须使用TypeToken的泛型方式声明转换的类型,才可以将json字符串转换成对应的集合对象.String s="[{\"name\":\"张三\",\"birthday\":\"2013/06/28 22:45:23\"},{\"name\":\"李四\",\"birthday\":\"2013/06/28 22:45:23\"}]";
List<Student> list2=gson.
fromJson(str,
new TypeToken<List<Student>>(){}.
getType());
总结:Gson是google开发的一套实用json转换工具,简单实用,强烈推荐朋友们使用,
- java转换json的实用工具-Gson
- 使用Gson实现Json和Java对象的转换
- GSON 转换JSON为JAVA对象的日期坑
- java-使用GSON进行dto与json的转换
- 利用Gson完成json与java对象的转换
- Java对象和JSON互转换利器-Gson
- 【Gson】 Java的JSON类库 Gson
- gson java对象与json转换
- Gson转换JSON字符串和Java对象
- gson java对象与json转换
- Java的JSON类库 Gson
- java的json类库Gson
- json和java对象的相互转换(json-lib和Gson的使用)
- Gson:Object和Json的转换
- Gson 字符串和json对象的转换
- 简单的Gson转换json数据
- 使用Gson的Json转换工具类
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- XtraReports报表创建教程:多列报表创建方法
- Ural 1076 Trash (二分图最佳完美匹配)
- hdu3930 broot 离散k次根 ,离散对数
- Android 在OnCreate()中获取控件高度与宽度
- 转换与类类型
- java转换json的实用工具-Gson
- JSDB.io:JavaScript 开源库大集合
- 跳表(Skip List)的介绍以及查找插入删除等操作
- linux 下获取当前网络连接状态的两种方法
- C++字符串:string and wstring的区别
- Android系统的改进(八)-- 当把手机当作存储介质连到电脑后,如果指定的铃声在存储卡上,指定的歌曲铃声消失,恢复默认
- log4j logback slf4j项目配置中的简单总结
- vs2012 error c4996: 'fopen': This function or variable may be unsafe
- linux常用命令