如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
package Demo; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Vector; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import entity.Userinfo; /** * fastjson 是一個性能很好的 Java 語言實現的 JSON 解析器和生成器,來自阿里巴巴的工程師開發。 主要特點: * 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 強大(支持普通JDK類包括任意Java Bean * 2.Class、Collection、Map、Date或enum) 零依賴(沒有依賴其它任何類庫除了JDK) * */ public class TestFastJson { public static void main(String[] args) { String json = "{\"name\":\"chenggang\",\"age\":24}" ; String arrayAyy = "[[\'馬云',50],null,[\'馬化騰',30]]" ; // Entity2json("zhangsan", 24); // list2Json(); Complexdata(); // Deserialization(json); // DateFormate(new Date()); // Json2Eetity(json); // String2JSONArray(arrayAyy); } // 實體轉為Json public static void Entity2json(String name, int age) { Userinfo info = new Userinfo(name, age); String str_json = JSON.toJSONString(info); // System.out.println( "實體轉化為Json" + str_json); } // list轉Json public static void list2Json() { List<Userinfo> list = new ArrayList<Userinfo>(); Userinfo userinfo1 = new Userinfo( "lisi" , 15 ); Userinfo userinfo2 = new Userinfo( "wangwu" , 16 ); list.add(userinfo1); list.add(userinfo2); String json = JSON.toJSONString(list, true ); System.out.println( "List集合轉json格式字符串 :" + json); } // 字符數組轉化為JSon private static void String2JSONArray(String arrayAyy) { JSONArray array = JSONArray.parseArray(arrayAyy); System.out.println( "數組:" + array); System.out.println( "數組長度: " + array.size()); Collection nuCon = new Vector(); nuCon.add( null ); array.removeAll(nuCon); System.out.println( "數組:" + array); System.out.println( "數組長度: " + array.size()); } // 復雜數據類型 public static void Complexdata() { HashMap<String, Object> map = new HashMap<String, Object>(); map.put( "username" , "zhangsan" ); map.put( "age" , 24 ); map.put( "sex" , "男" ); // map集合 HashMap<String, Object> temp = new HashMap<String, Object>(); temp.put( "name" , "xiaohong" ); temp.put( "age" , "23" ); map.put( "girlInfo" , temp); // list集合 List<String> list = new ArrayList<String>(); list.add( "爬山" ); list.add( "騎車" ); list.add( "旅游" ); map.put( "hobby" , list); String jsonString = JSON.toJSONString(map); System.out.println( "復雜數據類型:" + jsonString); } public static void Deserialization(String json) { Userinfo userInfo = JSON.parseObject(json, Userinfo. class ); System.out.println( "姓名是:" + userInfo.getName() + ", 年齡是:" + userInfo.getAge()); } // 格式話日期 public static void DateFormate(Date date) { System.out.println( "輸出毫秒值:" + JSON.toJSONString(date)); System.out.println( "默認格式為:" + JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); System.out.println( "自定義日期:" + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd" , SerializerFeature.WriteDateUseDateFormat)); } // Json轉為實體 private static void Json2Eetity(String json) { Userinfo userInfo = JSON.parseObject(json, Userinfo. class ); System.out.println( "輸出對象的地址:" + userInfo.toString()); System.out.println( "輸出對象的名字:" + userInfo.getName()); } } |
以上Demo所用到的實體類:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package entity; public class Userinfo { private static final long serialVersionUID = 1L; private String name; private int age; public Userinfo() { super (); } public Userinfo(String name, int age) { super (); this .name = name; this .age = age; } public void setName(String name) { this .name = name; } public String getName() { return name; } public void setAge( int age) { this .age = age; } public int getAge() { return age; } } |
以上這篇淺談fastjson的常用使用方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。