7
JSON.toJavaObject对于enum的field进行反序列化时,如果是int值,则不会考虑@JSONField里的信息,直接使用ordinal的值来反序列化了。
JSON.toJavaObject对于enum的field进行反序列化时,如果是int值,则不会考虑@JSONField里的信息,直接使用ordinal的值来反序列化了。
代码位置:TypeUtils里的1232~1238行:
if(obj instanceof Number){
int ordinal = ((Number) obj).intValue();
Object[] values = clazz.getEnumConstants();
if(ordinal < values.length){
return (T) values[ordinal];
}
}
可以提供个简单的复现用例吗 :)