问题:反序列化失败,内部非静态类无法实例化,
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
17public 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内容请搜索靠谱客的其他文章。
发表评论 取消回复