超级笨笨

好脑子,不如一个烂博客
数据加载中……
JSON和JAVA的POJO的相互转换
正在做一个进销存的项目,为了JSON和JAVA的POJO之间转换,很费劲啊,
上传,以备以后有用!
 import
 java.util.Collection;  
 
import java.util.HashMap;  
 
import java.util.Map;  

 
import net.sf.json.JSONArray;  
 
import net.sf.json.JSONObject;  
   
 
/** 
  * JSON和JAVA的POJO的相互转换 
  *  
  * 
@author ptah 2009-10-16 JSONUtil.java 
  
*/  
 
public final class JSONUtil { 
  
    
// 将String转换成JSON  
    public static String string2json(String key, String value) {  
         JSONObject object 
= new JSONObject();  
         object.put(key, value);  
         
return object.toString();  
     } 

     // 将JSON转换成数组,其中valueClz为数组中存放的对象的Class  
     public static Object json2Array(String json, Class valueClz) {  
         JSONArray jsonArray 
= JSONArray.fromObject(json);  
         
return JSONArray.toArray(jsonArray, valueClz);  
     }  
   
     
// 将Collection转换成JSON  
     public static String collection2json(Object object) {  
         JSONArray jsonArray 
= JSONArray.fromObject(object);  
         
return jsonArray.toString();  
     }  
   
     
// 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,  
     
// valueClz为Collection中存放的对象的Class  
     public static Collection json2Collection(String json, Class collectionClz,  
             Class valueClz) {  
         JSONArray jsonArray 
= JSONArray.fromObject(json);  
         
return JSONArray.toCollection(jsonArray, valueClz);  
     }  
  

    // 将数组转换成JSON  
     public static String array2json(Object object) {  
         JSONArray jsonArray 
= JSONArray.fromObject(object);  
         
return jsonArray.toString();  
     } 


     // 将Map转换成JSON  
     public static String map2json(Object object) {  
         JSONObject jsonObject 
= JSONObject.fromObject(object);  
         
return jsonObject.toString();  
     }  
   
     
// 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key  
     public static Map json2Map(Object[] keyArray, String json, Class valueClz) {  
         JSONObject jsonObject 
= JSONObject.fromObject(json);  
         Map classMap 
= new HashMap();  
   
         
for (int i = 0; i < keyArray.length; i++) {  
             classMap.put(keyArray[i], valueClz);  
         }  
   
         
return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);  
     }  
   
     
// 将POJO转换成JSON  
     public static String bean2json(Object object) {  
         JSONObject jsonObject 
= JSONObject.fromObject(object);  
         
return jsonObject.toString();  
     }  
   
     
// 将JSON转换成POJO,其中beanClz为POJO的Class  
     public static Object json2Object(String json, Class beanClz) {  
         
return JSONObject.toBean(JSONObject.fromObject(json), beanClz);  
     }

   
     
// 将JSON转换成String  
     public static String json2String(String json, String key) {  
         JSONObject jsonObject 
= JSONObject.fromObject(json);  
         
return jsonObject.get(key).toString();  
     }  
   
 } 

转载:http://nweiren.javaeye.com/category/82599?show_full=true

posted on 2009-12-30 18:16 超级笨笨 阅读(3437) 评论(5)  编辑  收藏 所属分类: SSH

评论

# re: JSON和JAVA的POJO的相互转换 2009-12-30 19:45 凡客诚品官方网站

澳门市民南大门上的
  回复  更多评论    

# re: JSON和JAVA的POJO的相互转换[未登录] 2009-12-31 08:41 黄燕青

太麻烦了,你不妨试下FlexJson
  回复  更多评论    

# re: JSON和JAVA的POJO的相互转换 2009-12-31 08:44 超级笨笨

不知道FlexJson,先去网上查查资料先。
  回复  更多评论    

# re: JSON和JAVA的POJO的相互转换 2009-12-31 09:22 超级笨笨

@黄燕青
兄弟有没有FlexJson有资料啊?可不可以传一份给我的啊?
  回复  更多评论    

# re: JSON和JAVA的POJO的相互转换 2009-12-31 14:31 4312423

www.jjkdhb.com
  回复  更多评论    

只有注册用户登录后才能发表评论。


网站导航: