Java中Gson的使用

近日项目中用到了json,在网上搜罗了好久,发现google开源的Gson使用起来很是方便,记录如下:


使用前准备工作

  1. 开发工具(IDE): Eclipse;
  2. 需下载google的gson,文件名:gson-2.3.1.jar;
  3. 将下载后的文件导入eclipse: 在eclipse中右键单击当前工程名—>Build Path—>Add Extenal Archives—>选择下载好的gson-2.3.1.jar文件,导入Ok;
  4. 至此,基本准备工作完成,只需在项目import包就行了;
  5. 这里给出了下载地址: [ Gson官方下载地址 ]

将java对象转化为json字符串

在java文件中导包:import com.google.gson.Gson;

1
2
3
4
5
6
7
8
9
10
11
  /**
* 将java对象转化为json字符串
*
* @param obj
* java对象
* @return 转化后的json字符串
*/
public static String getJsonStr(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}

将json字符串转成对象

1、 通用泛型:

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* json字符串转成对象
*
* @param str
* json字符串
* @param type
* 泛型
* @return
*/
public static <T> T fromJson(String str, Type type) {
Gson gson = new Gson();
return gson.fromJson(str, type);
}

2、使用类:

1
2
3
4
5
6
7
8
9
10
11
12
13
  /**
* json字符串转成对象
*
* @param str
* json字符串
* @param type
* Class<T>
* @return
*/
public static <T> T fromJson(String str, Class<T> type) {
Gson gson = new Gson();
return gson.fromJson(str, type);
}

实例测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Test {
public static void main(String[] args) {
// 创建java对象
Student stu = new Student("1001", "zhang", "98.5");
// 调用getJsonStr()方法,转化为json字符串
System.out.println(JsonUtil.getJsonStr(stu));

// 将json字符串转化为java对象时,首先要根据json的格式构造相应的类结构,之后在调用fromJson()方法
String jsonStr ="{\"ch\":\"X\",\"r\":\"J\",\"t\":\"1421\"}";
ReceiveMessage receive = JsonUtil
.fromJson(getStr, ReceiveMessage.class);
System.out.println(receive);
}
}

更为详尽的方法使用请移步:使用Gson解析复杂的json数据

0%