Java IllegalArgumentException JSON

Java IllegalArgumentException JSON,java,json,illegalargumentexception,Java,Json,Illegalargumentexception,我试图将字符串[]放入jsonObject中,并得到以下错误 java.lang.IllegalArgumentException:值的类型无效。类型: [[Ljava.lang.String;]的值:[[Ljava.lang.String;@189db56]at com.ibm.json.java.JSONObject.put(JSONObject.java:241) 请帮我解决这个问题。 谢谢 公共JSONObject到JSONObject(){ JSONObject JSONObject=

我试图将字符串[]放入jsonObject中,并得到以下错误

java.lang.IllegalArgumentException:值的类型无效。类型: [[Ljava.lang.String;]的值:[[Ljava.lang.String;@189db56]at com.ibm.json.java.JSONObject.put(JSONObject.java:241)

请帮我解决这个问题。 谢谢

公共JSONObject到JSONObject(){

JSONObject JSONObject=new JSONObject();
//使用反射获取所有get方法的列表
//并将相应的值添加到JSON对象中
Class cl=dto.getClass();
infoFormat(“将{0}转换为JSON对象”,cl.getName());
方法[]方法=cl.getDeclaredMethods();
用于(方法:方法){
String methodName=method.getName();
if(methodName.startsWith(“get”)){
infoFormat(“处理方法-{0}”,methodName);
//检查是否没有参数
if(method.getParameterTypes().length==0){
String tag=getLabel(方法);
对象标记值=新对象();
试一试{
tagValue=method.invoke(dto);
}捕获(例外e){
errorFormat(“调用方法时出错-{0}”,method.getName());
}
if(方法.getReturnType().isAssignableFrom(BaseDTO.class)){
DTOSerializer serializer=新的DTOSerializer((BaseDTO)tagValue);
put(标记,serializer.toJSONObject());
}else if(方法.getReturnType().isAssignableFrom(List.class)){
ListSerializer serializer=新ListSerializer((列表)tagValue);
put(标记,serializer.toJSONArray());
}否则{
if(tagValue!=null)jsonObject.put(tag,tagValue);
}
}
}
}
返回(jsonObject);
}
试试看


由于您应该先阅读手册,因此手册没有任何变化,希望有一个
对象[]

也许您应该看看

我非常喜欢在Java中使用json

    JSONObject jsonObject = new JSONObject();

    //Use reflection to get a list of all get methods
    //and add there corresponding values to the JSON object
    Class cl = dto.getClass();
    logger.infoFormat("Converting {0} to JSON Object", cl.getName());
    Method[] methods = cl.getDeclaredMethods();

    for (Method method : methods) {
        String methodName = method.getName();
        if (methodName.startsWith("get")) {
            logger.infoFormat("Processing method - {0}", methodName);
            //Check for no parameters
            if (method.getParameterTypes().length == 0) {
                String tag = getLabel(method);
                Object tagValue = new Object();

                try {
                    tagValue = method.invoke(dto);
                } catch (Exception e) {
                    logger.errorFormat("Error invoking method - {0}", method.getName());
                }

                if (method.getReturnType().isAssignableFrom(BaseDTO.class)) {
                    DTOSerializer serializer = new DTOSerializer((BaseDTO) tagValue);
                    jsonObject.put(tag, serializer.toJSONObject());
                } else if (method.getReturnType().isAssignableFrom(List.class)) {
                    ListSerializer serializer = new ListSerializer((List<BaseDTO>) tagValue);                       
                    jsonObject.put(tag, serializer.toJSONArray());                  
                } else {                    
                    if (tagValue != null) jsonObject.put(tag, tagValue);
                }
            }
        }
    }

    return(jsonObject);
}
 jsonObject.put("yourKey", Arrays.asList(yorStringArray));