fastjson typereference
时间: 2023-05-01 15:02:15 浏览: 109
fastjson中的TypeReference是一个泛型类,用于方便地处理泛型类型的序列化和反序列化。它可以在序列化和反序列化时告诉fastjson需要使用哪种类型来转换json数据,避免了类型擦除导致无法正确获得泛型信息的问题。
相关问题
TypeReference()' has protected access in 'com.alibaba.fastjson.TypeReference
这错误通常是由于在使用FastJSON进行反序列化时,使用了带有泛型参数的TypeReference类的构造函数。这个构造函数的访问修饰符是protected,因此在其他包中无法直接访问。
要解决这个问题,可以考虑继承TypeReference类并重写构造函数,以便在自己的代码中使用。或者,可以使用FastJSON提供的其他反序列化方法,例如parseObject()或parseArray(),这些方法不需要使用TypeReference类。
另外,还需要确保FastJSON的版本与项目中其他依赖库的版本兼容。如果FastJSON版本过低可能会导致该问题出现。
TypeReference()' has protected access in 'com.alibaba.fastjson.TypeReference'
这个错误是因为TypeReference类的构造函数是受保护的,无法直接实例化。解决方法是创建一个继承TypeReference的子类,并在子类中实现泛型参数的具体类型。例如:
```java
public class MyCircleTypeReference extends TypeReference<BaseResponseBean<MyCircleData>> {
}
```
然后在解析JSON时,使用这个子类作为TypeReference的参数即可:
```java
MyCircleTypeReference typeReference = new MyCircleTypeReference();
BaseResponseBean<MyCircleData> data = JSON.parseObject(body, typeReference);
```
阅读全文