Skip to content

Commit ccc34bc

Browse files
committed
数组反序列化
1 parent 4685948 commit ccc34bc

4 files changed

Lines changed: 53 additions & 1 deletion

File tree

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
/temp
44
/.classpath
55
/.project
6+
/log

‎README.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@
3131
##Redis
3232
* [Redis客户端Jedis使用示例](src/cn/aofeng/demo/redis/JedisDemo.java)
3333

34+
##Json
35+
###Gson
36+
* [普通对象-序列化与反序列化](src/cn/aofeng/demo/json/gson/SimpleObjectSerialize.java)
37+
* [数组-序列化](src/cn/aofeng/demo/json/gson/ArraySerialize.java)
38+
* [数组-反序列化](src/cn/aofeng/demo/json/gson/ArrayDeserialize.java)
39+
3440
## 脚本语言
3541
* [在Java中执行JavaScript脚本](src/cn/aofeng/demo/script/ScriptRunPerformence.java)
3642

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package cn.aofeng.demo.json.gson;
2+
3+
import com.google.gson.Gson;
4+
5+
/**
6+
* 数组的反序列化。
7+
*
8+
* @author <a href="mailto:[email protected]">聂勇</a>
9+
*/
10+
public class ArrayDeserialize {
11+
12+
public <T> T deserialize(String json, Class<T> claz) {
13+
Gson gson = new Gson();
14+
return gson.fromJson(json, claz);
15+
}
16+
17+
public static void main(String[] args) {
18+
ArrayDeserialize ad = new ArrayDeserialize();
19+
20+
// 整型数组
21+
String intArrJson = "[9,7,5]";
22+
int[] intArr = ad.deserialize(intArrJson, int[].class);
23+
System.out.println("---------- 整型数组 ----------");
24+
for (int i : intArr) {
25+
System.out.println(i);
26+
}
27+
28+
// 字符串数组
29+
String strArrJson = "[\"张三\",\"李四\",\"王五\"]";
30+
String[] strArr = ad.deserialize(strArrJson, String[].class);
31+
System.out.println("---------- 字符串数组 ----------");
32+
for (String str : strArr) {
33+
System.out.println(str);
34+
}
35+
36+
// 对象数组
37+
String objArrJson = "[{\"name\":\"小明\",\"age\":10},{\"name\":\"马丽\",\"age\":9}]";
38+
Person[] objArr = ad.deserialize(objArrJson, Person[].class);
39+
System.out.println("---------- 对象数组 ----------");
40+
for (Person person : objArr) {
41+
System.out.println(person);
42+
}
43+
}
44+
45+
}

‎src/cn/aofeng/demo/json/gson/ArraySerialize.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.google.gson.Gson;
44

55
/**
6-
* 数组的序列化与反序列化。
6+
* 数组的序列化。
77
*
88
* @author <a href="mailto:[email protected]">聂勇</a>
99
*/

0 commit comments

Comments
 (0)