在做JSON解析时,遇到了在不知道数组类型的前期下,需要转化为具体类型数组的问题。可以使用JAVA的反射来做。
JSONArray jsonArray = (JSONArray) entry.getValue();
if (jsonArray.size() > ) {
Object array = null;
// 假如数组中的class类型不同,则初始化Object数组
if (jsonArray.size() >
&& !jsonArray.get().getClass().getName()
.equals(jsonArray.get().getClass().getName())) {
array = Array.newInstance(Object.class, jsonArray.size());
} else {
// 根据Json数组中的元素来确定数组类型
array = Array.newInstance(jsonArray.get().getClass().getClass(),
jsonArray.size());
} // 使用Array中的set方法来设置数组的值
for (int i = ; i < jsonArray.size(); i++) {
Array.set(array, i, jsonArray.get(i));
}
processBasicMap.put(entry.getKey(), array);
}