JSONObject cannot be cast to org.springframework.validation.BindingResult

484 阅读1分钟

最近不知道为什么突然多了个字段: 日志:

com.alibaba.fastjson.JSONObject cannot be cast to org.springframework.validation.BindingResult

org.springframework.validation.BindingResult.orderInfo

应该是引入校验框架导致的。但是具体是原因,怎么去掉呢?

貌似是 引用 @Validated 校验导致的?@ModelAttribute removeBindingResultIfNecessary

处理办法

 PropertyFilter propertyFilter = new PropertyFilter()
            {
                @Override
                public boolean apply(Object source, String name, Object value)
                {
                    // @modelAttribute
                    if (source instanceof BindingResult)
                    {
                        return false;
                    }
                    if(name.startsWith("org.springframework.validation.BindingResult.")){
                        return false;
                    }

                    return true;
                }
            };
   String json = JSON.toJSONString(model, new SerializeFilter[]
            { filter, propertyFilter },
                    SerializerFeature.DisableCircularReferenceDetect);