在将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