mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
修复JSONBeanParser在遇到List时没有被正确递归问题
This commit is contained in:
@@ -6,6 +6,7 @@ import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import cn.hutool.core.bean.copier.ValueProvider;
|
||||
import cn.hutool.core.convert.AbstractConverter;
|
||||
import cn.hutool.core.convert.ConvertException;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.map.MapProxy;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
@@ -67,6 +68,16 @@ public class BeanConverter<T> extends AbstractConverter<T> {
|
||||
|
||||
@Override
|
||||
protected T convertInternal(Object value) {
|
||||
final Class<?>[] interfaces = this.beanClass.getInterfaces();
|
||||
for (Class<?> anInterface : interfaces) {
|
||||
if("cn.hutool.json.JSONBeanParser".equals(anInterface.getName())){
|
||||
// issue#I7M2GZ
|
||||
final T obj = ReflectUtil.newInstanceIfPossible(this.beanClass);
|
||||
ReflectUtil.invoke(obj, "parse", value);
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
if(value instanceof Map ||
|
||||
value instanceof ValueProvider ||
|
||||
BeanUtil.isBean(value.getClass())) {
|
||||
|
Reference in New Issue
Block a user