1 import java.util.List;
2
3 import com.alibaba.fastjson.JSON;
4 import com.alibaba.fastjson.TypeReference;
5
6 public class FastJSONHelper {
7
8 /**
9 * 将java类型的对象转换为JSON格式的字符串
10 * @param object java类型的对象
11 * @return JSON格式的字符串
12 */
13 public static <T>
String serialize(T object) {
14 return JSON.toJSONString(object);
15 }
16
17 /**
18 * 将JSON格式的字符串转换为java类型的对象或者java数组类型的对象,不包括java集合类型
19 * @param json JSON格式的字符串
20 * @param clz java类型或者java数组类型,不包括java集合类型
21 * @return java类型的对象或者java数组类型的对象,不包括java集合类型的对象
22 */
23 public static <T> T deserialize(String json, Class<T>
clz) {
24 return JSON.parseObject(json, clz);
25 }
26
27 /**
28 * 将JSON格式的字符串转换为List<T>类型的对象
29 * @param json JSON格式的字符串
30 * @param clz 指定泛型集合里面的T类型
31 * @return List<T>类型的对象
32 */
33 public static <T> List<T> deserializeList(String json, Class<T>
clz) {
34 return JSON.parseArray(json, clz);
35 }
36
37 /**
38 * 将JSON格式的字符串转换成任意Java类型的对象
39 * @param json JSON格式的字符串
40 * @param type 任意Java类型
41 * @return 任意Java类型的对象
42 */
43 public static <T> T deserializeAny(String json, TypeReference<T>
type) {
44 return JSON.parseObject(json, type);
45 }
46
47 }
View Code
1 public class Person {
2 private int Age;
3 private String Name;
4 public int getAge() {
5 return Age;
6 }
7 public void setAge(
int age) {
8 Age =
age;
9 }
10 public String getName() {
11 return Name;
12 }
13 public void setName(String name) {
14 Name =
name;
15 }
16 }
View Code
1 public class Program1 {
2
3 /**
4 * @param args
5 */
6 public static void main(String[] args) {
7 // TODO Auto-generated method stub
8 Person person =
new Person();
9 person.setAge(32
);
10 person.setName("wangyunpeng"
);
11 String json =
FastJSONHelper.serialize(person);
12 System.out.println(json);
13
14 person = FastJSONHelper.deserialize(json, Person.
class);
15 System.out.println(String.format("Name:%s,Age:%s"
,person.getName(),person.getAge()));
16 }
17
18 }
View Code
1 import java.util.ArrayList;
2
3 public class Program2 {
4
5 /**
6 * @param args
7 */
8 public static void main(String[] args) {
9 // TODO Auto-generated method stub
10
11 ArrayList<Person> list =
new ArrayList<Person>
();
12 Person person1 =
new Person();
13 person1.setAge(32
);
14 person1.setName("wangyunpeng"
);
15 list.add(person1);
16 Person person2 =
new Person();
17 person2.setAge(17
);
18 person2.setName("shyx"
);
19 list.add(person2);
20 String json =
FastJSONHelper.serialize(list);
21 System.out.println(json);
22
23 Person[] persons = FastJSONHelper.deserialize(json, Person[].
class);
24 for (Person person : persons) {
25 System.out.println(String.format("Name:%s,Age:%s"
, person.getName(),person.getAge()));
26 }
27 }
28 }
View Code
1 import java.util.ArrayList;
2 import java.util.List;
3
4
5 public class Program3 {
6
7 /**
8 * @param args
9 */
10 public static void main(String[] args) {
11 // TODO Auto-generated method stub
12 ArrayList<Person> list =
new ArrayList<Person>
();
13 Person person1 =
new Person();
14 person1.setAge(32
);
15 person1.setName("wangyunpeng"
);
16 list.add(person1);
17 Person person2 =
new Person();
18 person2.setAge(17
);
19 person2.setName("shyx"
);
20 list.add(person2);
21 String json =
FastJSONHelper.serialize(list);
22 System.out.println(json);
23
24 List<Person> personList = FastJSONHelper.deserializeList(json, Person.
class);
25 for (Person person : personList) {
26 System.out.println(String.format("Name:%s,Age:%s"
, person.getName(),person.getAge()));
27 }
28 }
29
30 }
View Code
1 import java.util.ArrayList;
2 import java.util.List;
3
4 public class Program4 {
5
6 /**
7 * @param args
8 */
9 public static void main(String[] args) {
10 // TODO Auto-generated method stub
11 List<String> list =
new ArrayList<String>
();
12 list.add("wyp"
);
13 list.add("shyx"
);
14 String json =
FastJSONHelper.serialize(list);
15 System.out.println(json);
16 list = FastJSONHelper.deserializeList(json, String.
class);
17 for (String string : list) {
18 System.out.println(string);
19 }
20 }
21 }
View Code
1 import java.util.ArrayList;
2 import java.util.HashMap;
3 import java.util.List;
4 import java.util.Map;
5
6 import com.alibaba.fastjson.JSONObject;
7 import com.alibaba.fastjson.TypeReference;
8
9 public class Program5 {
10
11 /**
12 * @param args
13 */
14 public static void main(String[] args) {
15 // TODO Auto-generated method stub
16 HashMap<String, Object> map =
new HashMap<String, Object>
();
17 map.put("key1", "value1"
);
18 map.put("key2", "value2"
);
19
20 HashMap<String, Object> map2 =
new HashMap<String, Object>
();
21 map2.put("key1", 1
);
22 map2.put("key2", 2
);
23
24 HashMap<String, Object> map3 =
new HashMap<String, Object>
();
25 Person person1 =
new Person();
26 person1.setAge(32
);
27 person1.setName("wangyunpeng"
);
28 map3.put("wyp"
, person1);
29 Person person2 =
new Person();
30 person2.setAge(17
);
31 person2.setName("shenyunxiao"
);
32 map3.put("shyx"
, person2);
33
34 List<HashMap<String, Object>> list =
new ArrayList<HashMap<String, Object>>
();
35 list.add(map);
36 list.add(map2);
37 list.add(map3);
38
39 String json =
FastJSONHelper.serialize(list);
40 System.out.println(json);
41
42 list =
FastJSONHelper.deserializeAny(json,
43 new TypeReference<List<HashMap<String, Object>>>
() {
44 });
45 for (HashMap<String, Object>
item : list) {
46 for (Map.Entry<String, Object>
entry : item.entrySet()) {
47 String key =
entry.getKey();
48 Object value =
entry.getValue();
49 if (value
instanceof JSONObject) {
50 JSONObject jObj =
(JSONObject) value;
51 String json2 =
FastJSONHelper.serialize(jObj);
52 Person other = FastJSONHelper.deserialize(json2, Person.
class);
53 System.out.println(String.format(
54 "Key:%s,Value:[Name:%s,Age:%s]"
, key,
55 other.getName(), other.getAge()));
56 }
else {
57 System.out.println(String.format("Key:%s,Value:%s"
, key,
58 value));
59 }
60 }
61 }
62
63 }
64
65 }
View Code
转载于:https://www.cnblogs.com/qiyebao/p/3658747.html