fastjson在反序列化enumeration时处理过于简单,默认会调用枚举的ordinal的值进行反序列化,当遇到枚举ordinal顺序不一致时会抛异常。
这是枚举类,每个类的value值进行了自定义。当对2进行反序列化时,将会得到枚举变量FOUR,这不是我想要的,正确的应该获得TWO,当反序列化数字大于3时,解析过程将会报错。因为没有ordinal值大于3的枚举变量
在Vote对象中我用到了这个枚举类。在将这个Vote对象的json字符串转解析成对象时报错,
打断点的值
解决方案:fastjson提供注解JSONField,将该字段标记为不进行序列化,然后通过自定义的get方法进行取值。具体可看网上的另一篇博文,写的很详细
转自于:https://blog.csdn.net/tang9140/article/details/51701099