在将jsonArray转java集合使用的toCollection方法即可。
JSONArray.toCollection(jsonArray, clazz);
但当实体中嵌套实体或者map等其它自定义对象时会提示以下转换错误:
No serializer found for class net.sf.ezmorph.MorpherRegistry and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: com.cywh.mine.summary.po.InviteBo["imageList"]->java.util.ArrayList[0]->net.sf.ezmorph.bean.MorphDynaBean["morpherRegistry"])
查相关资料后原因是当实体中有其它自定义类型时需手动指定,否则默认转为MorphDynaBean。设置如下:
Map<String,Class> childClass = new HashMap<String,Class>();
childClass.put("属性名称",对象.class);
JsonConfig config = new JsonConfig();
config.setRootClass(targetClass);
config.setClassMap(childClass);
JSONArray.toCollection(jsonArray, config);
参考文章地址:http://www.bubuko.com/infodetail-927034.html