我是靠谱客的博主 有魅力灯泡,最近开发中收集的这篇文章主要介绍fastJson的@JSONField和jackson的@JsonProperty使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、jackson的@JsonProperty使用

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>

@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(value="name")。

二、fastJson的@JSONField使用

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>

三、jackson的@JsonIgnore使用

  1. 作用:在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

  2. 使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。

  3. 场景模拟:

    需要把一个List<HistoryOrderBean>转换成json格式的数据传递给前台。但实体类中基本属性字段的值都存储在快照属性字段中。此时我可以在业务层中做处理,把快照属性字段的值赋给实体类中对应的基本属性字段。最后,我希望返回的json数据中不包含这两个快照字段,那么在实体类中快照属性上加注解@JsonIgnore,那么最后返回的json数据,将不会包含goodsInfo和extendsInfo两个属性值。

public class HistoryOrderBean {
//基本属性字段
private String insurantName;
private String insuranceName;
private String insurancePrice;
private String insurancePicture;
private String insuranceLimit;
//快照属性字段
@JsonIgnore
private String goodsInfo;
//快照基本信息
@JsonIgnore
private String extendsInfo;
//快照扩展属性信息
}

4.注解失效: 
如果注解失效,可能是因为你使用的是fastJson,可以尝试使用该注解@JSONField(serialize = false),使用方法一样。

最后

以上就是有魅力灯泡为你收集整理的fastJson的@JSONField和jackson的@JsonProperty使用的全部内容,希望文章能够帮你解决fastJson的@JSONField和jackson的@JsonProperty使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部