• Java-JsonUtil工具类


    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    public class JsonUtil {
        /**
         * 对象转换成JSON字符串
         * 
         * @param obj
         *            需要转换的对象
         * @return 对象的string字符
         */
        public static String objToJson(Object obj) {
            JSONObject jSONObject = JSONObject.fromObject(obj);
            return jSONObject.toString();
        }
    
        /**
         * JSON字符串转换成对象
         * 
         * @param jsonString
         *            需要转换的字符串
         * @param type
         *            需要转换的对象类型
         * @return 对象
         */
        public static <T> T jsonToBean(String jsonString, Class<T> type) {
            JSONObject jsonObject = JSONObject.fromObject(jsonString);
            return jsonToBean(jsonObject, type);
        }
    
        /**
         * jsonObject 转换为javabean
         * 
         * @param jsonObject
         * @param type
         * @return
         */
        @SuppressWarnings("unchecked")
        public static <T> T jsonToBean(JSONObject jsonObject, Class<T> type) {
            return (T) JSONObject.toBean(jsonObject, type);
        }
    
        /**
         * json 转换为 beanList
         * 
         * @param jsonArray
         * @param type
         * @return
         */
        @SuppressWarnings({ "unchecked", "rawtypes" })
        public static List jsonToBeanList(JSONArray jsonArray, Class type) {
            List<Object> list = new ArrayList<Object>();
            for (Object obj : jsonArray) {
                if (obj instanceof JSONArray) {
                    list.add(jsonToBeanList((JSONArray) obj, type));
                } else if (obj instanceof JSONObject) {
                    list.add(jsonToBean((JSONObject) obj, type));
                } else {
                    list.add(obj);
                }
            }
            return list;
        }
    
        /**
         * 将JSONArray对象转换成list集合
         * 
         * @param jsonArr
         * @return
         */
        public static List<Object> jsonToMapList(JSONArray jsonArr) {
            List<Object> list = new ArrayList<Object>();
            for (Object obj : jsonArr) {
                if (obj instanceof JSONArray) {
                    list.add(jsonToMapList((JSONArray) obj));
                } else if (obj instanceof JSONObject) {
                    list.add(jsonToMap((JSONObject) obj));
                } else {
                    list.add(obj);
                }
            }
            return list;
        }
    
        /**
         * 将json字符串转换成map对象
         * 
         * @param json
         * @return
         */
        public static Map<String, Object> jsonToMap(String json) {
            JSONObject obj = JSONObject.fromObject(json);
            return jsonToMap(obj);
        }
    
        /**
         * 将JSONObject转换成map对象
         * 
         * @param json
         * @return
         */
        public static Map<String, Object> jsonToMap(JSONObject obj) {
            Set<?> set = obj.keySet();
            Map<String, Object> map = new HashMap<String, Object>(set.size());
            for (Object key : obj.keySet()) {
                Object value = obj.get(key);
                if (value instanceof JSONArray) {
                    map.put(key.toString(), jsonToMapList((JSONArray) value));
                } else if (value instanceof JSONObject) {
                    map.put(key.toString(), jsonToMap((JSONObject) value));
                } else {
                    map.put(key.toString(), obj.get(key));
                }
            }
            return map;
        }
    }
    
  • 相关阅读:
    从零自学Hadoop(15):Hive表操作
    从零自学Hadoop(14):Hive介绍及安装
    从零自学Hadoop(13):Hadoop命令下
    从零自学Hadoop(12):Hadoop命令中
    angularjs不同页面间controller传参方式,使用service封装sessionStorage
    angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post
    angularjs中的绑定策略“@”,“=”,“&”实例
    angularjs中ng-repeat-start与ng-repeat-end用法实例
    关于JavaScript对象的键和值
    angularjs中ng-attr的用法
  • 原文地址:https://www.cnblogs.com/bilaisheng/p/10211023.html
Copyright © 2020-2023  润新知