java - IllegalArgumentException JSON

标签 java json illegalargumentexception

我试图将 String[] 放入 jsonObject 并收到以下错误

java.lang.IllegalArgumentException: Invalid type of value. Type: [[Ljava.lang.String;] with value: [[Ljava.lang.String;@189db56] at com.ibm.json.java.JSONObject.put(JSONObject.java:241)

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

公共(public) JSONObject toJSONObject() {

    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));

您应该先阅读手册 http://www.json.org/javadoc/org/json/JSONObject.html它没有任何变化,需要一个 Object[]

关于java - IllegalArgumentException JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9429699/

相关文章:

java - 在没有 JSP 的情况下将 JQuery 与 Servlet 一起使用有什么缺点吗?

java - 针对这个问题的动态程序是如何设计的呢?

json - Elm - 如何将对象的 json 列表解码为 Dict

java - 如何将javascript数组传递给java applet方法?

android - 调用新 Activity 时出现 IllegalArgumentException

java - 运行junit时出现空指针异常

java - 如何在 Java 的 Spark Streaming 中解析复杂的 JSON 数据

php - 从 PHP 中的重复记录中获取特定数据

android - 接收方未注册异常错误?

java - Android 按钮文本未在 onClick 上更新