我是靠谱客的博主 清秀斑马,这篇文章主要介绍反序列化失败:Message:create instance error, class xxx,现在分享给大家,希望可以做个参考。

问题:反序列化失败,内部非静态类无法实例化,

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转静态类即可

扩展:非静态成员内部类的实例化依赖外部类实例,将内部类改为静态嵌套类即可

嵌套内和内部类

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(123)

评论列表共有 0 条评论

立即
投稿
返回
顶部