1、替换SpringMVC 默认转换器(jackson 转换为fastjson)
@Configuration
@EnableWebMvc
public class SpingMVCConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
// TODO Auto-generated method stub
// 采用fastjson 解析json
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig config = new FastJsonConfig();
// 允许不带引号的字段名
config.setFeatures(com.alibaba.fastjson.parser.Feature.AllowUnQuotedFieldNames);
// 允许单引号的字段名
config.setFeatures(com.alibaba.fastjson.parser.Feature.AllowSingleQuotes);
// 允许任意逗号
config.setFeatures(com.alibaba.fastjson.parser.Feature.AllowArbitraryCommas);
converter.setFastJsonConfig(config);
converters.add(converter);
}
}
2、设置SpringMVC 默认转换器jackjson 涉及json 解析相关规则配置说明
@Configuration
@EnableWebMvc
public class SpingMVCConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
com.fasterxml.jackson.databind.ObjectMapper mapper = Jackson2ObjectMapperBuilder.json().build();
// 允许使用特殊字符
mapper.configure(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
//允许使用未带引号的字段名
mapper.configure(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
//允许使用单引号
mapper.configure(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
// 允许反斜杠转义任何字符
mapper.configure(com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER, true);
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(mapper);
converters.add(converter);
}
}