JSON类库 Flexjson学习

官方地址(需FQ):http://flexjson.sourceforge.net/

Flexjson 是一个将 Java 对象转成 JSON 的 类库,是一个深度转换的过程。

下面是我写的一个例子:http://download.csdn.net/detail/zzhd_xingfu/5885183

Main.java

 1 package com.flexjson.main;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import com.flexjson.model.InterestModel;
 7 import com.flexjson.model.TelModel;
 8 import com.flexjson.model.UserModel;
 9 
10 public class Main {
11 
12     /**
13      * @param args
14      */
15     public static void main(String[] args) {
16         testJsonUtil();
17     }
18 
19     public static void testJsonUtil() {
20         // Json String to Java object
21         String json1 = "{\"ims\":[{\"name\":\"篮球\"},{\"name\":\"足球\"}],\"tm\":{\"number\":\"15896352635\",\"type\":\"手机号\"},\"passWord\":\"123\",\"userName\":\"admin\"}";
22         UserModel um1 = JsonUtil.getObjFromJsonStr(json1, UserModel.class);
23         System.out.println(um1.toString());
24         // ///////////////////////////////////////////////
25 
26         // Java object to JSON String 简单的Object
27         UserModel um2 = new UserModel();
28         um2.setUserName("admin");
29         um2.setPassWord("123");
30         System.out.println(JsonUtil.getJsonStrFromObj(um2));
31         // ///////////////////////////////////////////////
32 
33         // Java object to JSON String 复杂的Object
34         UserModel um3 = new UserModel();
35         um3.setUserName("admin");
36         um3.setPassWord("123");
37         List<InterestModel> ims = new ArrayList<InterestModel>();
38         InterestModel im1 = new InterestModel();
39         im1.setName("篮球");
40         InterestModel im2 = new InterestModel();
41         im2.setName("足球");
42         ims.add(im1);
43         ims.add(im2);
44         um3.setIms(ims);
45         TelModel tm = new TelModel();
46         tm.setNumber("15896352635");
47         tm.setType("手机号");
48         um3.setTm(tm);
49         String json3 = JsonUtil.getJsonStrFromObj(um3, "ims", "tm");
50         System.out.println(json3);
51         // ///////////////////////////////////////////////
52 
53         // List to JSON String
54         UserModel um4_1 = new UserModel();
55         um4_1.setUserName("admin_1");
56         um4_1.setPassWord("123_1");
57         List<InterestModel> ims4_1 = new ArrayList<InterestModel>();
58         InterestModel im4_1_1 = new InterestModel();
59         im4_1_1.setName("篮球_1");
60         InterestModel im4_1_2 = new InterestModel();
61         im4_1_2.setName("足球_1");
62         ims4_1.add(im4_1_1);
63         ims4_1.add(im4_1_2);
64         um4_1.setIms(ims4_1);
65         TelModel tm4_1 = new TelModel();
66         tm4_1.setNumber("15896352635_1");
67         tm4_1.setType("手机号_1");
68         um4_1.setTm(tm4_1);
69 
70         UserModel um4_2 = new UserModel();
71         um4_2.setUserName("admin_2");
72         um4_2.setPassWord("123_2");
73         List<InterestModel> ims4_2 = new ArrayList<InterestModel>();
74         InterestModel im4_2_1 = new InterestModel();
75         im4_2_1.setName("篮球_2");
76         InterestModel im4_2_2 = new InterestModel();
77         im4_2_2.setName("足球_2");
78         ims4_2.add(im4_2_1);
79         ims4_2.add(im4_2_2);
80         um4_2.setIms(ims4_2);
81         TelModel tm4_2 = new TelModel();
82         tm4_2.setNumber("15896352635_2");
83         tm4_2.setType("手机号_2");
84         um4_2.setTm(tm4_2);
85 
86         List<Object> list = new ArrayList<Object>();
87         list.add(um4_1);
88         list.add(um4_2);
89         System.out.println(JsonUtil.getJsonStrFromList(list, "User", "ims", "tm"));
90         // ///////////////////////////////////////////////
91 
92     }
93 }

JsonUtil.java

 1 package com.flexjson.main;
 2 
 3 import java.util.List;
 4 
 5 import flexjson.JSONDeserializer;
 6 import flexjson.JSONSerializer;
 7 
 8 public class JsonUtil {
 9 
10     // Java object to JSON String
11     public static String getJsonStrFromObj(Object obj) {
12         JSONSerializer serializer = new JSONSerializer();
13         return serializer.serialize(obj);
14     }
15 
16     // Java object to JSON String
17     public static String getJsonStrFromObj(Object obj, String... params) {
18         JSONSerializer serializer = new JSONSerializer();
19         serializer = serializer.include(params);
20         return serializer.serialize(obj);
21     }
22 
23     // List to JSON String
24     public static String getJsonStrFromList(List<Object> objs, String rootName,
25             String... params) {
26         JSONSerializer serializer = new JSONSerializer();
27         serializer = serializer.include(params);
28         serializer.rootName(rootName);
29         return serializer.serialize(objs);
30     }
31 
32     // Json String to Java object
33     public static <T> T getObjFromJsonStr(String source, Class<T> bean) {
34         return new JSONDeserializer<T>().deserialize(source, bean);
35     }
36     
37     
38 }

UserModel.java

 1 /**
 2  * 
 3  */
 4 package com.flexjson.model;
 5 
 6 import java.util.List;
 7 
 8 /**
 9  * @author Administrator
10  * 
11  */
12 public class UserModel {
13     private String userName;// 用户名
14     private String passWord;// 密码
15     private List<InterestModel> ims;
16     private TelModel tm;
17     
18     public String getUserName() {
19         return userName;
20     }
21 
22     public void setUserName(String userName) {
23         this.userName = userName;
24     }
25 
26     public String getPassWord() {
27         return passWord;
28     }
29 
30     public void setPassWord(String passWord) {
31         this.passWord = passWord;
32     }
33     
34     public List<InterestModel> getIms() {
35         return ims;
36     }
37 
38     public void setIms(List<InterestModel> ims) {
39         this.ims = ims;
40     }
41 
42     public TelModel getTm() {
43         return tm;
44     }
45 
46     public void setTm(TelModel tm) {
47         this.tm = tm;
48     }
49 
50     @Override
51     public String toString() {
52         return "userName=" + userName + "; passWord=" + passWord + ";";
53     }
54 
55 }

TelModel.java

 1 package com.flexjson.model;
 2 
 3 public class TelModel {
 4     private String number;
 5     private String type;
 6 
 7     public String getType() {
 8         return type;
 9     }
10 
11     public void setType(String type) {
12         this.type = type;
13     }
14 
15     public String getNumber() {
16         return number;
17     }
18 
19     public void setNumber(String number) {
20         this.number = number;
21     }
22 
23 }

InterestModel.java

 1 package com.flexjson.model;
 2 
 3 public class InterestModel {
 4     private String name;
 5 
 6     public String getName() {
 7         return name;
 8     }
 9 
10     public void setName(String name) {
11         this.name = name;
12     }
13 }

 

 

posted @ 2013-08-06 18:00  zhangze  阅读(8806)  评论(0编辑  收藏  举报