zoukankan      html  css  js  c++  java
  • JSON和JAVA的POJO的相互转换【转载】

    该类中用用到的jar包:参加文章《使用json-lib进行Java和JSON之间的转换【转载】》

    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的相互转换  
     *   
     * JSONHelper.java  
     */ 
    public final class JSONHelper {   
       
        // 将数组转换成JSON   
        public static String array2json(Object object) {   
            JSONArray jsonArray = JSONArray.fromObject(object);   
            return jsonArray.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);   
        }   
       
        // 将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);   
        }   
       
        // 将String转换成JSON   
        public static String string2json(String key, String value) {   
            JSONObject object = new JSONObject();   
            object.put(key, value);   
            return object.toString();   
        }   
       
        // 将JSON转换成String   
        public static String json2String(String json, String key) {   
            JSONObject jsonObject = JSONObject.fromObject(json);   
            return jsonObject.get(key).toString();   
        }   
       
    }  
  • 相关阅读:
    考虑浏览器兼容的文件上传(IE8不支持FormData)
    IDEA tomcat 部署WEB项目
    如何在springcloud分布式系统中实现分布式锁?
    ABAP DEMO33 选择周的搜索帮助
    ABAP函数篇1 日期函数
    ABAP函数篇2 测试DATE_CONVERT_TO_FACTORYDATE
    增强篇7 判断标准屏幕能否做屏幕增强
    增强篇6 CMOD增强删除
    ABAP DEMO 年月的搜索帮助
    HoloLens开发手记-配置开发环境 Install the tools
  • 原文地址:https://www.cnblogs.com/dekevin/p/4021494.html
Copyright © 2011-2022 走看看