• java使用json-lib库的json工具类.


    import net.sf.ezmorph.object.DateMorpher;
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;
    import net.sf.json.util.CycleDetectionStrategy;
    import net.sf.json.util.JSONUtils;

    /**

     * 处理json的工具类,负责json数据转换成java对象和java对象转换成json
     *
     * @since 2012年7月4日22:36:43
     * @author leaves,QQ:1330771552
     */
    public class JsonUtil {
        /**
         * 从一个JSON 对象字符格式中得到一个java对象
         *
         * @param jsonString
         * @param pojoCalss
         * @return
         */
        @SuppressWarnings("unchecked")
        public static <T> T jsonToObject(String jsonString, Class<T> pojoCalss) {
            Object pojo;
            JSONObject jsonObject = JSONObject.fromObject(jsonString);
            pojo = JSONObject.toBean(jsonObject, pojoCalss);
            return (T) pojo;
        }
     
        /**
         * json字符串转换成集合
         *
         * @param jsonString
         * @param pojoClass
         * @return
         */
        @SuppressWarnings("unchecked")
        public static <T> List<T> jsonToList(String jsonString, Class<T> pojoClass) {
            JSONArray jsonArray = JSONArray.fromObject(jsonString);
            JSONObject jsonObject;
            Object pojoValue;
            List<T> list = new ArrayList<T>();
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonObject = jsonArray.getJSONObject(i);
                pojoValue = JSONObject.toBean(jsonObject, pojoClass);
                list.add((T) pojoValue);
            }
            return list;
        }
     
        /**
         * json字符串转换成集合
         *
         * @param jsonString
         * @param pojoClass
         * @return
         */
        @SuppressWarnings("unchecked")
        public static <T> List<T> jsonToList(String jsonString, Class<T> pojoClass, String dataFormat) {
            JsonConfig jsonConfig = configJson(dataFormat);
            JSONArray jsonArray = JSONArray.fromObject(jsonString, jsonConfig);
            JSONObject jsonObject;
            Object pojoValue;
            List<T> list = new ArrayList<T>();
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonObject = jsonArray.getJSONObject(i);
                pojoValue = JSONObject.toBean(jsonObject, pojoClass);
                list.add((T) pojoValue);
            }
            return list;
        }
     
        /**
         * 将java对象转换成json字符串
         *
         * @param javaObj
         * @return
         */
        public static String objectToJson(Object javaObj) {
            JSONObject json;
            json = JSONObject.fromObject(javaObj);
            return json.toString();
        }
     
        /**
         * 将java对象转换成json字符串,并设定日期格式
         *
         * @param javaObj
         *            要转换的java对象
         * @param dataFormat
         *            制定的日期格式
         * @return
         */
        public static String objectToJson(Object javaObj, String dataFormat) {
            JSONObject json;
            JsonConfig jsonConfig = configJson(dataFormat);
            json = JSONObject.fromObject(javaObj, jsonConfig);
            return json.toString();
     
        }
     
        /**
         * list变成json
         *
         * @param list
         * @return
         */
        public static <T> String listToJson(List<T> list) {
            JSONArray json;
            json = JSONArray.fromObject(list);
            return json.toString();
        }
     
        /**
         * list变成json
         *
         * @param list
         * @return
         */
        public static <T> String listToJson(List<T> list, String dataFormat) {
            JSONArray json;
            JsonConfig jsonConfig = configJson(dataFormat);
            json = JSONArray.fromObject(list, jsonConfig);
            return json.toString();
        }
     
        /**
         * JSON 时间解析器
         *
         * @param datePattern
         * @return
         */
        public static JsonConfig configJson(final String datePattern) {
     
            JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] { datePattern }));
     
            JsonConfig jsonConfig = new JsonConfig();
            jsonConfig.setIgnoreDefaultExcludes(false);
            jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
            jsonConfig.registerJsonValueProcessor(Date.classnew JsonValueProcessor() {
     
                @Override
                public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
                    if (value instanceof Date) {
                        String str = new SimpleDateFormat(datePattern).format((Date) value);
                        return str;
                    }
                    return value == null null : value.toString();
                }
     
                @Override
                public Object processArrayValue(Object value, JsonConfig jsonConfig) {
                    String[] obj = {};
                    if (value instanceof Date[]) {
                        SimpleDateFormat sf = new SimpleDateFormat(datePattern);
                        Date[] dates = (Date[]) value;
                        obj = new String[dates.length];
                        for (int i = 0; i < dates.length; i++) {
                            obj[i] = sf.format(dates[i]);
                        }
                    }
                    return obj;
                }
            });
            return jsonConfig;
        }
    }
     
     
     

    data=[{"xuHao":"201407140001","scaleNo":"01","qrCode":"440100100002B993","beforeWeight":15.85,"fillingWeight":30.50,"steelno":"013267","fillingWorkerID":"","fillingDate":"2014-07-14 09:29:01"},{"xuHao":"201507140002","scaleNo":"01","qrCode":"4401001000013475","beforeWeight":15.85,"fillingWeight":30.50,"steelno":"003212","fillingWorkerID":"","fillingDate":"2015-07-14 09:33:01"}]

    String strObject=request.getParameter("data");

    FillingDetailRecordsEntity requestBean=(FillingDetailRecordsEntity)jsonToObject(strObject,FillingDetailRecordsEntity.class);

    json lib 2.4及其依赖包下载

    下载文件地址:https://files.cnblogs.com/files/xiandedanteng/json-lib-2.4%26dependencies_jars.rar

    它包括

    commons-beanutils-1.9.3.jar

    commons-collections-3.2.jar

    commons-lang-2.3.jar

    commons-logging-1.2.jar

    ezmorph-1.0.6.jar

    json-lib-2.4-jdk15.jar

    这些库可以满足转化Java对象到json的需要。

    在线JSON字符串转Java实体类(JavaBean、Entity)

    在线JSON字符串转Java实体类(JavaBean)

    http://www.bejson.com/json2javapojo/new/

  • 相关阅读:
    idea创建项目报错(Maven execution terminated abnormally (exit code 1) )解决方案
    mysql连接查询
    mysql特殊使用
    eclipse发布web
    eclipse启动web应用 报错
    hdu 2018
    atom安装插件失败 latex
    牛腩新闻发布系统——解惑:VS2012验证码加载不出来
    IIS的安装和配置
    InoReader——网页无法打开
  • 原文地址:https://www.cnblogs.com/Alex80/p/11228865.html
Copyright © 2020-2023  润新知