• 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();   
        }   
       
    }  
  • 相关阅读:
    js 变量命名规范
    JS
    python 处理中文十六进制的encode %E9%99%88%E8%80%81%E5%B8%88/%E5%9B%BE%E7%89%87
    Pycharm 项目上传至Gitee/Github详细步骤
    Python 类型建议符, Python 定义函数的时候有冒号:
    Python 解析 JSON
    Python 解析 JSON
    Mac 安装 WordPress
    java常用书籍下载
    Docker环境搭建Redis4.0 Cluster
  • 原文地址:https://www.cnblogs.com/dekevin/p/4021494.html
Copyright © 2020-2023  润新知