zoukankan      html  css  js  c++  java
  • Java json字符串转java对象

    1、Maven依赖

           <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.3</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.1</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>net.sf.ezmorph</groupId>
                <artifactId>ezmorph</artifactId>
                <version>1.0.6</version>
            </dependency>
    
            <dependency>
                <groupId>net.sf.json-lib</groupId>
                <artifactId>json-lib</artifactId>
                <version>2.4</version>
                <classifier>jdk15</classifier>
            </dependency>

    2、方法实现

         /***
         * json字符串转java对象
         * @param t java对象
         * @param jsonStr json字符串
         * @param <T> 申明泛型
         * @return 返回泛型java对象
         */
        public static <T> T jsonToObject(T t, String jsonStr) {
            try {
                JsonConfig config = new JsonConfig();
                config.setRootClass(t.getClass());
    
                PropertyNameProcessor lowerCasePropertyNameProcessor = new PropertyNameProcessor() {
                    @Override
                    public String processPropertyName(Class aClass, String s) {
                        return s.substring(0, 1).toLowerCase() + s.substring(1);
                    }
                };
                config.registerJavaPropertyNameProcessor(t.getClass(), lowerCasePropertyNameProcessor);
    
                //1、使用JSONObject
                JSONObject jsonObject = JSONObject.fromObject(jsonStr);
                T t1 = (T) JSONObject.toBean(jsonObject, config);
                return t1;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
  • 相关阅读:
    拉格朗日插值
    文档 所有空格变为Tab
    windows 计算器
    map 结构体
    插入图片 图片地址
    扩展中国剩余定理
    欧拉定理、欧拉函数、a/b%c
    hdu1033Defragment
    Minimum Inversion Number_线段树||树状数组
    hdu1166敌兵布阵_线段树单点更新
  • 原文地址:https://www.cnblogs.com/hanmian4511/p/10875271.html
Copyright © 2011-2022 走看看