FastJson

FastJson的應用javascript

 

1、阿里巴巴FastJson是一個Json處理工具包,包括「序列化」和「反序列化」兩部分,它具有以下特徵:
速度最快,測試代表,fastjson具備極快的性能,超越任其餘的Java Json parser。包括自稱最快的JackJson;
功能強大,徹底支持Java Bean、集合、Map、日期、Enum,支持範型,支持自省;無依賴,可以直接運行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)java

將javaBean對象包裝成json格式json

                JSONObject jsonObject=new JSONObject();
        User user=new User("尚曉飛", "男", 25, new Date(), "bjsxt");
        jsonObject.put("user", user);
        System.out.println("Test.main()"+jsonObject.toString());

                //打印結果:Test.main(){"user":{"age":25,"birthDay":1405067572140,"name":"尚曉飛","school":"bjsxt","sex":"男"}}
View Code

將list集合包裝成json數組

 1 User user=new User("尚曉飛", "男", 25, new Date(), "bjsxt");
 2         User user2=new User("sxf", "女", 22, new Date(), "北京尚學堂");
 3         User user3=new User("噹噹", "男", 25, new Date(), "噹噹網");
 4         List<Object> userList=new ArrayList<Object>();
 5         
 6         userList.add(user);
 7         userList.add(user2);
 8         userList.add(user3);
 9         
10         JSONObject jsonObject=new JSONObject();
11         jsonObject.put("userlist", userList);
12         
13         
14         System.out.println("Test.main()"+jsonObject);
15         
16 //打印結果:Test.main(){"userlist":[{"age":25,"birthDay":1405069939080,"name":"尚曉飛","school":"bjsxt","sex":"男"},{"age":22,"birthDay":1405069939080,"name":"sxf","school":"北京尚學堂","sex":"女"},{"age":25,"birthDay":1405069939080,"name":"噹噹","school":"噹噹網","sex":"男"}]}
View Code

將list集合包裝成json格式的數組ide

 1 User user=new User("尚曉飛", "男", 25, new Date(), "bjsxt");
 2         User user2=new User("sxf", "女", 22, new Date(), "北京尚學堂");
 3         User user3=new User("噹噹", "男", 25, new Date(), "噹噹網");
 4         List<Object> userList=new ArrayList<Object>();
 5         
 6         userList.add(user);
 7         userList.add(user2);
 8         userList.add(user3);
 9         
10         JSONArray jsonArray=new JSONArray(userList);
11         
12         
13         System.out.println("Test.main()"+jsonArray);
14 
15 //打印結果:Test.main()[{"age":25,"birthDay":1405069524031,"name":"尚曉飛","school":"bjsxt","sex":"男"},{"age":22,"birthDay":1405069524031,"name":"sxf","school":"北京尚學堂","sex":"女"},{"age":25,"birthDay":1405069524031,"name":"噹噹","school":"噹噹網","sex":"男"}]
View Code

將list集合包裝成json格式的數組工具

1 User user=new User("尚曉飛", "男", 25, new Date(), "bjsxt");
2         User user2=new User("sxf", "女", 22, new Date(), "北京尚學堂");
3         User user3=new User("噹噹", "男", 25, new Date(), "噹噹網");
4         List<Object> userList=new ArrayList<Object>();
5         
6         userList.add(user);
7         userList.add(user2);
8         userList.add(user3);
9         JSON json=(JSON) JSON.toJSON(userList);
View Code

  在javascript中操做json對象性能

 1 //若是是一個json對象var abc={"key":"value"}
 2 //取出key對應的值
 3 var v=abc.key
 4 var v=abc["key"]
 5 
 6 
 7 //若是是一個json數組的對象   var abc=[{"one":"一","name":"尚曉飛"},{"one":"二","name":"尚小帥"}]
 8 
 9 for(var i=0;i<abc.length;i++){
10      var m=abc[i].name;
11      var o=abc[i].one; 
12      var m=abc[i]["name"]           
13 }
View Code

 FastJSON的API測試

1 public static final Object parse(String text); // 把JSON文本parse爲JSONObject或者JSONArray 
2 public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
3 public static final  T parseObject(String text, Class clazz); // 把JSON文本parse爲JavaBean 
4 public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
5 public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
6 public static final String toJSONString(Object object); // 將JavaBean序列化爲JSON文本 
7 public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化爲帶格式的JSON文本 
8 public static final Object toJSON(Object javaObject); 將JavaBean轉換爲JSONObject或者JSONArray。
View Code

測試代碼spa

 1 Fave fave1=new Fave("打遊戲", new Date());
 2         Fave fave2=new Fave("下象棋", new Date());
 3         
 4         Student st1=new Student("尚曉飛", 1,new Date(),fave1);
 5         Student st2=new Student("尚小帥",1,new Date(),fave2);
 6         
 7         List<Student> list=new ArrayList<Student>();
 8         list.add(st1);
 9         list.add(st2);
10         
11         //javaBean---》json格式字符串
12         String jsonString=JSONObject.toJSONString(st1);
13         String listString=JSONObject.toJSONString(list);
14         System.out.println("javabean--->string"+jsonString);
15         //打印結果:javabean--->string{"birthday":1411713587089,"fave":{"date":1411713587088,"name":"打遊戲"},"name":"尚曉飛","sex":1}
16         System.out.println("list---->String"+listString);
17         //打印結果:list---->String[{"birthday":1411714397844,"fave":{"date":1411714397843,"name":"打遊戲"},"name":"尚曉飛","sex":1},
18         //{"birthday":1411714397844,"fave":{"date":1411714397843,"name":"下象棋"},"name":"尚小帥","sex":1}]
19         
20         //javaBean---》json對象
21         JSONObject jsonObject=(JSONObject) JSONObject.toJSON(st1);
22         
23         String nameString=(String) jsonObject.get("name");//根據key值獲取json對象的value值
24         Object object= jsonObject.get("fave");//特殊:轉成的fave內容爲{key:vlaue}因此說不可以轉換成fave對象,只能進行二次轉換,轉換成javaBean
25         String fav=object.toString();
26         
27         //將json格式的字符串轉換成---》javaBean
28         Fave fave=JSONObject.parseObject(fav, Fave.class);
29         System.out.println("Test.main()"+nameString);//尚曉飛
30         System.out.println("Test.main()"+fave.getName());//打遊戲
View Code
相關文章
相關標籤/搜索