当Json数据中的key为Java关键字时,在定义实体类的时候不能对该字段进行声明,所以需要对字段进行特殊处理
首先需要再spring boot的启动类总添加如下的配置:
/**
* @Description: 解决注解@JSONField(name="native")不能生效的问题 需要配置fastjson
* @author han
* @date
*/
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastConverter;
return new HttpMessageConverters(converter);
}
在java对象上需要映射成java关键字的字段上添加如下的注解:(由于本人使用的是阿里的fastjson进行json使用下面注解,使用其他的json包配置方式以及注解会不同)
@JSONField(name = "native")
private List<Native> natives;