-
Notifications
You must be signed in to change notification settings - Fork 550
Closed
Labels
Milestone
Description
问题描述
简要描述您碰到的问题。
fastjson2中List 子类的泛型在反序列化时无法自动推断,元素被反序列化为 JSONObject
fastjson1和jackson都正常
环境信息
请填写以下信息:
- JDK信息: [e.g.:Openjdk 21]
- 版本信息:[e.g.:Fastjson2 2.0.60]
重现步骤
如何操作可以重现该问题:运行下面的main方法
import com.alibaba.fastjson2.JSON;
import java.util.ArrayList;
public class Demo {
public static class MyDTO {
private MyList myList;
public MyList getMyList() {
return myList;
}
public void setMyList(MyList myList) {
this.myList = myList;
}
}
public static class MyList extends ArrayList<MyObject> {}
public static class MyObject {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) {
MyDTO myDTO = JSON.parseObject("{\"myList\":[{\"name\":\"张三\"}]}", MyDTO.class);
MyObject myObject = myDTO.getMyList().get(0);
System.out.println(myObject.getName());
}
}期待的正确结果
输出张三
相关日志输出
Exception in thread "main" java.lang.ClassCastException: class com.alibaba.fastjson2.JSONObject cannot be cast to class ps.logic.logistics.service.impl.Demo$MyObject (com.alibaba.fastjson2.JSONObject and ps.logic.logistics.service.impl.Demo$MyObject are in unnamed module of loader 'app')
at ps.logic.logistics.service.impl.Demo.main(Demo.java:37)
附加信息
如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。
Reactions are currently unavailable