Java - 反射 - 转换为 JSON 数组

标签 java json

我在java中创建并设置如下所示的值

public Class creatObjectWithDefaultValue(String className) throws IllegalArgumentException, IllegalAccessException {
        DefaultParamValues defaultParamValues = null;
        Class objectClass = null;
        try {
            objectClass = Class.forName(className);
             Field[] fields = objectClass.getClass().getDeclaredFields();

             for(Field f:fields){
                    if(!f.isAccessible()){
                        f.setAccessible(true);
                        Class<?> type = f.getType();

                        if(type.equals(Integer.class)){
                            f.set(objectClass, defaultParamValues.INTEGER);  
                        } else if(type.equals(BigInteger.class)){
                            f.set(objectClass, defaultParamValues.BIGINTEGER);  
                        }else if(type.equals(LocalDate.class)){
                            f.set(objectClass, defaultParamValues.DATE);  
                        }else if(type.equals(Boolean.class)){
                            f.set(objectClass, defaultParamValues.BOOLEAN);  
                        }else if(type.equals(Long.class)){
                            f.set(objectClass, defaultParamValues.LONGVALUE);  
                        }
                        f.setAccessible(false);
                    }
                    //System.out.println(f.get(objectClass));
                }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return objectClass;
    }

现在我想将返回对象转换为JSON或JSON数组我尝试了类似的事情,但它抛出异常,因为构造函数JSONObject(Class)未定义

System.out.println ( new JSONObject( te.creatObjectWithDefaultValue("com.hexgen.ro.request.CreateRequisitionRO") ).toString () );

请帮我改正错误。

最诚挚的问候

最佳答案

为什么不使用 Jackson用于处理 JSON 数据?重新发明轮子通常很容易出错,并且仅适用于教育或根本没有库或框架适合您的目的的情况。

现在,对于 JSON <-> Object 转换,没有任何理由不使用更高级别的框架,除非您明确尝试研究反射本身。

关于Java - 反射 - 转换为 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16275282/

相关文章:

ios - 从 iOS 中的 json 在 UITableView 中动态创建 UILabels?

PHP数据库未添加数据

json - 解析R中的嵌套结构

java - 使用 NIO (Java) 在 EOF 后重新读取文件

java - maven下载卡在无效路径

javascript - JQuery - 无法访问以 json 返回的变量

javascript - 如何从列表内的目录中取出值?

java - Maven - 多个 Jar 最佳实践

java - Android Things 上的 Wiegand 26 协议(protocol)

java - 在 Spring Boot 2 中将包含带引号的字符串的请求正文解析为 JSON