FastJson中的注解@JSONField,一般作用在get/set方法上面,常用的使用场景有下面三个: 修改和json字符串的字段映射【name】 格式化数据【format】 过滤掉不需要序列化的字段【serialize】
private Integer aid; // 实体类序列化为json字符串的时候,此类的aid字段,序列化为json中的testid字段 @JSONField(name="testid") public Integer getAid() { return aid; } // json字符串解析为类实体的时候,json中的id字段,写入此类的aid字段 @JSONField(name="id") public void setAid(Integer aid) { this.aid = aid; }
如果是springboot项目,@JSONField不生效,需要在启动类注入配置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); }
jackson提供的@JsonProperty 也支持序列化转换
// json字符串解析为类实体的时候,json中的platformId字段,写入此类的platform_id字段 @JsonProperty(value = "platformId") private String platform_id;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。