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":"男"}}
將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":"男"}]}
將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":"男"}]
將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);
在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 }
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。
測試代碼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());//打遊戲