概述
在了解gson前,你需要了解json。
什么是 JSON ?
- JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
- JSON 是轻量级的文本数据交换格式
- JSON 独立于语言 *
- JSON 具有自我描述性,更易理解
- JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON库支持许多不同的编程语言。
如下就是一个json实例
{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}
Gson是一个Java库,可用于将Java对象转换为JSON表示形式。它也可以用于将JSON字符串转换为等效的Java对象。
Gson可以使用在任意Java对象,包括您没有源代码的预先存在的对象
Gson最初是为了在Google中使用,目前在许多项目中使用。它现在被一些公共项目和公司使用
使用Gson
Gson使用具体事例源码请到http://blog.csdn.net/qq_30034925/article/details/70162546
使用的主要类是Gson,您可以通过调用new Gson()创建。还有一个类GsonBuilder可用于创建具有各种设置(如版本控制等)的Gson实例
调用Json操作时,Gson实例不会保持任何状态,也就是说,例如你调用了gson.tojson()后,gson并不会被赋予一个值。因此,您可以自由地重复使用相同的对象进行多个Json序列化和反序列化操作
原始实例
//序列化
Gson gson = new Gson();
//tojson把一个对象转化为json
gson.toJson(1); // ==> 1
gson.toJson("abcd"); // ==> "abcd"
gson.toJson(new Long(10)); // ==> 10
int[] values = { 1 };
gson.toJson(values); // ==> [1]
// 反序列化 把一个json转化为一个对象
int one = gson.fromJson("1", int.class);
Integer one = gson.fromJson("1", Integer.class);
Long one = gson.fromJson("1", Long.class);
Boolean