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);
}
}