mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
[bug修复] JsonUtil.toBean泛型数组类型丢失
This commit is contained in:
@@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.json.test.bean.Price;
|
||||
import cn.hutool.json.test.bean.UserA;
|
||||
@@ -290,4 +292,27 @@ public class JSONUtilTest {
|
||||
final String jsonStr = JSONUtil.toJsonStr(userId);
|
||||
assertEquals("{}", jsonStr);
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型引用数组泛型丢失
|
||||
*/
|
||||
@Test
|
||||
public void issue3873Test() {
|
||||
String json = "{\"results\":[{\"uid\":\"1\"}],\"offset\":0,\"limit\":20,\"total\":0}";
|
||||
Results<Index> deserialize = JSONUtil.toBean(json, (new TypeReference<Results<Index>>() {
|
||||
}), false);
|
||||
|
||||
assertEquals(Results.class, deserialize.getClass());
|
||||
assertEquals(ArrayUtil.getArrayType(Index.class), deserialize.results.getClass());
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Results<T> {
|
||||
public T[] results;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Index {
|
||||
public String uid;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user