概述
问题:反序列化失败,内部非静态类无法实例化,
Message:create instance error, class * @&com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.createInstance(JavaBeanDeserializer.java:249)@&com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:761)@&com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:273)@&com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:269)@&com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:758)@&com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:692)@&com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:687)@&com.alibaba.fastjson.JSON.parseArray(JSON.java:535)
解决:将内部类加static转静态类即可
扩展:非静态成员内部类的实例化依赖外部类实例,将内部类改为静态嵌套类即可
嵌套内和内部类
public static void main(String[] args) {
List list = JSON.parseArray(jsonString, Vo.class);
}
public static class Vo {//加static修饰为静态内部类
private Long Id;
public Long getId() {
return Id;
}
public void setId(Long Id) {
this.Id = Id;
}
}
最后
以上就是清秀斑马为你收集整理的反序列化失败:Message:create instance error, class xxx的全部内容,希望文章能够帮你解决反序列化失败:Message:create instance error, class xxx所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复