Gson介绍和使用
来源:互联网 发布:2016年光棍节淘宝 编辑:程序博客网 时间:2024/06/08 15:25
一、什么是JSON
JSON(JavaScript Object Notation)是JavaScript对象表示法,用于存储和交换文本信息的语法,类似XML,但比XML更小、更灵活。它是独立的语言,具有自我描述性,所以更易理解。 JSON使用JavaScript语法来描述数据对象,但SJON仍然独立于语言平台。JSON解析器和JSON库支持许多不同的编程语言。
二、Gson
java json对象的处理,目前有好一些类库,比较著名的有Jackson,Fastjson等,而Gson是google自己写的一个Java对象与JSON相互转化的工具包.它轻巧简便,易于使用,而且有很完备的文档可供查询,它是一个开源项目,其网址为 http://code.google.com/p/google-gson。 这里介绍一下google封装的类库gson。 gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要 使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。 1)toJason()方法将对象转换成Json字符串 2)fromJson()方法来实现从Json相关对象到java实体的方法。
三、导入Jar包
1、下载gson-2.2.4.jar
四、示例代码
Json_all.java
package json;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;public class Json_all {/** * Gson 谷歌的一个java 和 Json 解析器 * toJson() : Java 转换成 Json * fromJson() : Json 转换成 Java */public static void main(String[] args) {Gson gson = new Gson();// 基本数据转换int[] numbers = { 1, 1, 2, 3, 5, 8, 13 };String[] days = { "Mon", "Tue", "Wed" };String numbersJson = gson.toJson(numbers);String daysJson = gson.toJson(days);int[] fibonacci = gson.fromJson(numbersJson, int[].class);String[] weekDays = gson.fromJson(daysJson, String[].class);// map <==> jsonMap<String, String> colours = new HashMap<String, String>();colours.put("black", "黑色");colours.put("red", "红色");colours.put("blue", "蓝色");String coloursJson = gson.toJson(colours); // Type type = new TypeToken< Map<String, String> >() {}.getType(); // 申明类型 Map<String, String> Map<String, String> map = gson.fromJson(coloursJson, type);// 单个对象 转换Student stu = new Student("leovany", "China", new Date(2000, 1, 1));String stuJson = gson.toJson(stu);Student student = gson.fromJson(stuJson, Student.class);// 对象集合 转换List<Student> students = new ArrayList<Student>();Student a = new Student("Alice", "Apple St", new Date(2014, 10, 1));Student b = new Student("Bob", "Banana St", null);students.add(a);students.add(b);String studentsJson = gson.toJson(students);Type type2 = new TypeToken<List<Student>>() {}.getType(); // 申明类型 List<Student>List<Student> studentList = gson.fromJson(studentsJson, type2);}}
Student.java
package json;import java.util.Date;public class Student {private String name ;private String address;private Date dateOfBirth;public Student(String name, String address, Date dateOfBirth) { this.name = name; this.address = address; this.dateOfBirth = dateOfBirth; }public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public Date getDateOfBirth() {return dateOfBirth;}public void setDateOfBirth(Date dateOfBirth) {this.dateOfBirth = dateOfBirth;}}
参考:http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
0 0
- Gson介绍和使用
- Gson的基本介绍和使用
- Gson快速使用介绍
- Gson使用简单介绍
- Gson的使用介绍
- GSON的使用介绍
- Gson 的基本使用介绍
- Gson和Json使用
- Json FastJson Gson介绍与使用
- Jackson和Gson的使用
- Gson和Fastjson的使用
- Jackson和Gson的使用
- 初次使用Retrofit和Gson
- GSON和GsonFormat的使用
- gson介绍
- 【Gson】Gson 使用笔记
- Android使用Gson和SharedPreferences存储对象
- json解析库gson和fastjson使用
- 叶绿素测定仪ChloroTech121A—美国安诺实验室
- 刘清扬老师《银行对公营销》课程大纲
- ORACLE日期时间函数大全
- HDU1588
- Java读取word,excel,pdf
- Gson介绍和使用
- 刘清扬老师《银行客户经理营销》课程大纲
- nyoj2 括号配对问题 模拟转化为栈
- ubuntu安装最新nodejs
- 图像响应图,response map
- poj_3026 BFS+Prim
- Zookeeper C系列:应用示例
- 完全背包
- IDEA 字体美化