千家信息网

如何解析工具类CommonJsonUtils中json 与 bean的转换

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,如何解析工具类CommonJsonUtils中json 与 bean的转换,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。packag
千家信息网最后更新 2025年02月06日如何解析工具类CommonJsonUtils中json 与 bean的转换

如何解析工具类CommonJsonUtils中json 与 bean的转换,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

package com.xmdishi.fmp.utils;import net.sf.json.util.JSONUtils;import org.apache.commons.lang3.StringUtils;import java.util.*;/** * json 与 bean的转换 * chenjianquan * 2019/1/14 */public class CommonJsonUtils {    /**     * json转为List     * @author cjianquan     * @date 2020/1/19     * @param [json, clazz]     * @return java.util.List     */    public List toBeanList(String json,Class clazz){        //调用DateMorpherEx,defaultValue为null        JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpherEx(new String[] { "yyyy-MM-dd HH:mm:ss","yyyy-MM-dd" }, (Date) null));        net.sf.json.JSONArray jsonArr = net.sf.json.JSONArray.fromObject(json);        List list = new ArrayList();        for (int i = 0; i < jsonArr.size(); i++) {            Object obj = jsonArr.get(i);            T rec = (T)net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(obj),clazz);            list.add(rec);        }        return list;    }    /**     * json 里包含这 key 的子数组,转换为List     * @author cjianquan     * @date 2020/1/19     * @param [json, key, clazz]     * @return java.util.List     */    public List toBeanListByKey(String json,String key,Class clazz){        //调用DateMorpherEx,defaultValue为null        JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpherEx(new String[] { "yyyy-MM-dd HH:mm:ss","yyyy-MM-dd" }, (Date) null));        List> mapList = getMapListByKey(json,key);        net.sf.json.JSONArray jsonArr = net.sf.json.JSONArray.fromObject(mapList);        List list = new ArrayList();        for (int i = 0; i < jsonArr.size(); i++) {            Object obj = jsonArr.get(i);            T rec = (T)net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(obj),clazz);            list.add(rec);        }        return list;    }    /**     * 将json转为List>     * @author cjianquan     * @date 2020/1/19     * @param [json]     * @return java.util.List>     */    public List> toMapList(String json){        net.sf.json.JSONArray jsonArr = net.sf.json.JSONArray.fromObject(json);        List> list = new ArrayList>();        for (int i = 0; i < jsonArr.size(); i++) {            net.sf.json.JSONObject obj = net.sf.json.JSONObject.fromObject(jsonArr.get(i));            Iterator iterable= obj.keys();            Map map = new HashMap();            while(iterable.hasNext()){                Object key = iterable.next();                map.put(""+key,obj.get(key));            }            list.add(map);        }        return list;    }    /**     * json 里包含这 key 的子数组,转换为List>     * @author cjianquan     * @date 2020/1/19     * @param [json, key]     * @return java.util.List>     */    public List> getMapListByKey(String json,String key){        List> list = new ArrayList>();        net.sf.json.JSONObject params = net.sf.json.JSONObject.fromObject(json);        Object objList = params.get(key);        list = toMapList(objList.toString());        return list;    }    /**     * 获取json的 指定key 的 Map     * @author cjianquan     * @date 2020/1/19     * @param [json, key]     * @return java.util.Map     */    public Map getMapByKey(String json,String key){        Map map = new HashMap();        net.sf.json.JSONObject params = net.sf.json.JSONObject.fromObject(json);        Object objMap = params.get(key);        map = net.sf.json.JSONObject.fromObject(objMap);        return map;    }    /**     * 获取json的 指定key 的 Map,并转为 T     * @author cjianquan     * @date 2020/1/19     * @param [json, key, clazz]     * @return T     */    public T toBeanByKey(String json, String key, Class clazz) {        JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpherEx(new String[] { "yyyy-MM-dd HH:mm:ss","yyyy-MM-dd" }, (Date) null));        net.sf.json.JSONArray jsonArr = net.sf.json.JSONArray.fromObject(json);        Map map  = getMapByKey(json,key);        T rec = (T)net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(map),clazz);        return rec;    }    /**     *  获取json的 指定key 的 json string     * @author cjianquan     * @date 2020/1/19     * @param [json, key]     * @return java.lang.String     */    public String getStringByKey(String json,String key){        net.sf.json.JSONObject params = net.sf.json.JSONObject.fromObject(json);        Object result = params.get(key);        return ""+result;    }    public T toBean(String json, Class clazz){        JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpherEx(new String[] { "yyyy-MM-dd HH:mm:ss","yyyy-MM-dd" }, (Date) null));        T rec = (T)net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(json),clazz);        return rec;    }}

关于如何解析工具类CommonJsonUtils中json 与 bean的转换问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

问题 工具 数组 更多 帮助 解答 易行 简单易行 内容 小伙 小伙伴 方法 知识 篇文章 行业 资讯 资讯频道 频道 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 挑选计算机网络技术排名靠前 公司通常如何监控自己的网络安全 dm删除数据库实例 阿里云服务器添加站点 app提示服务器拒绝访问 多功能软件开发方案 大使馆适用我国网络安全法吗 游戏软件开发基础万立中 网络安全监测和预警 明日之后起源地服务器怎么使用 数据中心用的哪家服务器 牛云北京网络技术有限责任公司 数据库 两个索引 四川首选dns服务器云空间 怎样访问iis元数据库 河北博雅数据库投档线 品质网络技术服务直销价格 应用连接oracle数据库超时 计算机网络技术能插本吗 服务器一会儿能连上一会儿连不上 北京艺品网络技术发展 服务器销售模板下载安装 在借鉴网络技术的英语 网络安全班会ppt课件大学 网络通但是无法访问服务器 阿里云服务器漏洞 服务器被他人远程关闭怎么办 流媒体服务器压力测试工具 浦东新区回收服务器 梦幻西游跨时代服务器
0