如何实现fastJson泛型对象的转换?
- 内容介绍
- 文章标签
- 相关推荐
本文共计456个文字,预计阅读时间需要2分钟。
引用了现负责的业务和json处理,尤其是在使用fastJson框架将json字符串转换为泛型对象时遇到了一个异常:java.lang.ClassCastException。原因是在原场景下,模型ResultT定义如下:public class ResultT { private String msg; }
引子
现在负责的业务 和 json 打交道比较多, 最近使用fastJson框架 json串转成泛型对象遇到了一个异常 :java.lang.ClassCastException
还原下场景 :
模型Result<T>
public class Result<T> { private String msg; private List<T> module; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public List<T> getModule() { return module; } public void setModule(List<T> module) { this.module = module; } }
为什么要使用泛型, 可以理解泛型可以接受任意类型, 有些代码是公用的, 如结果集, 不可能为每个具体结果定义一个模型, 比如 Result<User>、Result<Item>等。
本文共计456个文字,预计阅读时间需要2分钟。
引用了现负责的业务和json处理,尤其是在使用fastJson框架将json字符串转换为泛型对象时遇到了一个异常:java.lang.ClassCastException。原因是在原场景下,模型ResultT定义如下:public class ResultT { private String msg; }
引子
现在负责的业务 和 json 打交道比较多, 最近使用fastJson框架 json串转成泛型对象遇到了一个异常 :java.lang.ClassCastException
还原下场景 :
模型Result<T>
public class Result<T> { private String msg; private List<T> module; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public List<T> getModule() { return module; } public void setModule(List<T> module) { this.module = module; } }
为什么要使用泛型, 可以理解泛型可以接受任意类型, 有些代码是公用的, 如结果集, 不可能为每个具体结果定义一个模型, 比如 Result<User>、Result<Item>等。

