我项目是springboot ,@JSONField(name = "XXX")不生效,试了网上说的方法都不行
网上说的配置
启动项继承WebMvcConfigurerAdapter
加上以下bean或者重写 下面的方法
@Bean public HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); fastConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter<?> converter = fastConverter; return new HttpMessageConverters(converter); } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { super.configureMessageConverters(converters); FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat ); fastConverter.setFastJsonConfig(fastJsonConfig); converters.add(fastConverter); }
我的数据取出来是我定义好的pojo对象没有进行任何fastjson操作,我把pojo对象操作如下后各种fastjson注解都生效
JSONObject.toJSONString(object)---注解生效 JSONObject.parseObject(JSONObject.toJSONString(object))---注解生效
参考博客时发现其原理其实是:该注解在将对象转换为json时,将原属性转换为替换属性