我想要读取一个JSON,并将其值存储在dataVO中。该dataVO包含ArrayList。
代码:
if (jsonObject.get(fld.getName()) != null) {
if (fld.getType() == Integer.class) {
methList[i].invoke(mvo, Integer.parseInt(jsonObject.get(fldName).toString()));
} else if (fld.getType() == String.class) {
methList[i].invoke(mvo, jsonObject.get(fldName).toString());
} else if (fld.getType() == Long.class) {
methList[i].invoke(mvo, Long.valueOf(jsonObject.get(fldName).toString()));
} else if (fld.getType() == ArrayList.class) {
/* HERE!! */
}else {
methList[i].invoke(mvo, jsonObject.get(fldName).toString());
}
}
我不知道如何在/*此处!!*/使用methList[i].invoke。
如果我使用标签,则会在此处结束段落,这可能会导致语法错误。
methList[i].invoke(mvo, jsonObject.get(fldName));
或者
methList[i].invoke(mvo, (ArrayList) jsonObject.get(fldName));
发生了错误。
错误信息:
org.json.JSONObject$1 cannot be cast to java.util.ArrayList
我该如何修复这个错误?