jialisoftw

          JSON與JAVA的數(shù)據(jù)轉(zhuǎn)換

          本文介紹如何使用JSON-lib這個(gè)Java類包實(shí)現(xiàn)Java的數(shù)據(jù)轉(zhuǎn)換。通過此類包可以把bean,map和XML轉(zhuǎn)換成JSON并能夠把JSON轉(zhuǎn)回成bean和DynaBean。

          JSON-lib這個(gè)Java類包用于把bean,map和XML轉(zhuǎn)換成JSON并能夠把JSON轉(zhuǎn)回成bean和DynaBean。

          下載地址:

          http://sourceforge.net/projects/json-lib/

          還要需要的第3方包:
          org.apache.commons

          包括:

          commons-beanutils.jar
          commons-collections-3.2.jar
          commons-lang-2.6.jar
          commons-logging-1.1.1.jar

          net.sf.ezmorph(ezmorph-1.0.6.jar)

           

          1. 對(duì)List類型的解析:

          Java代碼:  
          1. boolean[] boolArray = new boolean[]{true,false,true};          
          2.         JSONArray jsonArray1 = JSONArray.fromObject( boolArray );         
          3.         System.out.println( jsonArray1 );         
          4.          // prints [true,false,true]        
          5.               
          6.          List list = new ArrayList();         
          7.          list.add( "first" );         
          8.          list.add( "second" );         
          9.          JSONArray jsonArray2 = JSONArray.fromObject( list );         
          10.          System.out.println( jsonArray2 );         
          11.          // prints ["first","second"]     
          12.            
          13.          JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" );          
          14.          System.out.println( jsonArray3 );          
          15.          // prints ["json","is","easy"] 

          2. 對(duì)Map類型的解析

           原文參考自站長網(wǎng):http://www.software8.co/wzjs/java/3165.html

          Java代碼:  
          1. Map map = new HashMap();  
          2. map.put("name", "json");  
          3. map.put("bool", Boolean.TRUE);  
          4. map.put("int", new Integer(1));  
          5. map.put("arr", new String[] { "a", "b" });  
          6. map.put("func", "function(i){ return this.arr[i]; }");  
          7. JSONObject json = JSONObject.fromObject(map);  
          8. System.out.println(json);   
          9. // {"arr":["a","b"],"int":1,"name":"json","func":function(i){ return this.arr[i]; },"bool":true}  

          3、對(duì)JavaBEAN的解析

          Java代碼:  
          1. import net.sf.json.*;  
          2.   
          3. public class Test {  
          4.       
          5.     public static class JsonBean{  
          6.         private String name="json";  
          7.         private int pojoId = 1;  
          8.         public String getName() {  
          9.             return name;  
          10.         }  
          11.         public void setName(String name) {  
          12.             this.name = name;  
          13.         }  
          14.         public int getPojoId() {  
          15.             return pojoId;  
          16.         }  
          17.         public void setPojoId(int pojoId) {  
          18.             this.pojoId = pojoId;  
          19.         }   
          20.     }  
          21.     /** 
          22.      * @param args 
          23.      */  
          24.     public static void main(String[] args) {  
          25.         JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  
          26.         System.out.println(jsonObject);   
          27.         // {"name":"json","pojoId":1}  
          28.     }  
          29. }  

           說明apache json-lib可以滿足各種json的解析。

          posted on 2013-03-04 08:42 飛豬一號(hào) 閱讀(2843) 評(píng)論(4)  編輯  收藏

          評(píng)論

          # re: JSON與JAVA的數(shù)據(jù)轉(zhuǎn)換 2013-03-04 23:53 呵樂貓

          fastjson不更好用么  回復(fù)  更多評(píng)論   

          # re: JSON與JAVA的數(shù)據(jù)轉(zhuǎn)換 2013-03-05 10:40 Unmi

          Gson 和 Jackson 這兩個(gè)庫很棒的。  回復(fù)  更多評(píng)論   

          # re: JSON與JAVA的數(shù)據(jù)轉(zhuǎn)換 2013-03-05 20:32 廈會(huì)計(jì)代理司

          這個(gè)方式還是不錯(cuò)的呵呵  回復(fù)  更多評(píng)論   

          # re: JSON與JAVA的數(shù)據(jù)轉(zhuǎn)換 2013-03-06 10:34 紅色石頭

          不是有java bean和json直接轉(zhuǎn)換的開源jar包嗎?  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 肇庆市| 汕尾市| 渝中区| 东乡县| 双流县| 广西| 当雄县| 蛟河市| 金昌市| 安国市| 大冶市| 那曲县| 库车县| 丰原市| 舒兰市| 镇宁| 唐海县| 阳高县| 顺义区| 微博| 五台县| 泸西县| 南江县| 张家港市| 镇雄县| 阜南县| 抚宁县| 临城县| 周至县| 嘉祥县| 东乌| 鹤峰县| 舟山市| 自治县| 密云县| 额济纳旗| 若尔盖县| 南宫市| 房山区| 固阳县| 勃利县|