首页 > 编程知识 正文

维生素正确使用方法,维生素的使用方法和效果

时间:2023-05-06 02:28:34 阅读:24327 作者:3430

角色:序列化json时将忽略java bean的某些属性,序列化和反序列化都受影响。

用法:通常标记为属性或方法,返回的json数据不包含该属性。

场景模拟:

必须将将ListHistoryOrderBean转换为json格式的数据传递到前台。 但是,实体类的所有基本属性字段的值都存储在快照属性字段中。 此时,可以在业务层进行处理,并将快照属性字段的值分配给实体类中相应的基本属性字段。 最后,由于返回的json数据不包含这两个快照字段,因此如果将实体类注释为@JsonIgnore,则最后返回的json数据将包含goodsInfo和exxore

公共类历史学家bean {

//基本属性字段

私有字符串insuran tname;

私有字符串指示名称;

私有字符串指示价格;

私有字符串指示图片;

私有字符串指示限制;

//快照属性字段

@JsonIgnore

私有字符串代码信息; //快照基础知识

@JsonIgnore

隐私字符串扩展信息; //快照扩展属性信息

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

4 .禁用评论:

如果注释无效,则表示您正在使用fastJson,因此您可能试图使用相应的注释忽略字段。 注释为@JSONfield(serialize=false ),使用方式相同。

朴素羊相关:

使用朴素羊的评论时,要注意自己定义的属性命名是否规范。

名字不正确的话就没有效果了。 (例如,Ename,Eage是不规范的名称。 “nameE”、“ageE”是规范的名字)我在这里掉30分钟的洞。 关于命名规则,大家一起搜索。 其实不要命名得太奇怪。

如果使用@JsonIgnore注释没有效果,请注意是否规范了属性名称

1,@JsonIgnoreProperties

此注释是类注释,在序列化json时会忽略java bean的某些属性,序列化和反序列化都受影响。

写法是将该标签标记为model类的类名,可以是多个属性,也可以是单一属性

在生成json时过滤name和age属性

@jsonignoreproperties({'name'},{'age'} )。

公共类用户{

私有字符串名称;

私密int age;

}

1

2

3

4

5

6

7

2,@JsonIgnore

此注释用于属性或方法,如果可能,用于属性,其工作方式与上面的@JsonIgnoreProperties相同。

生成json时不生成age属性

公共类用户{

私有字符串名称;

@JsonIgnore

私密int age;

}

3,@JsonFormat

此注释用于属性或方法,可以方便地将Date类型直接转换为所需的模式(@ JSON format (pattern=“yyyy-mm-ddhh-mm-ss”) )

4、@JsonSerialize

此注释用于属性或getter方法,用于在序列化期间嵌入自定义代码。 例如,序列化双精度时,后面必须限制两位小数。

5、@JsonDeserialize

此注释用于属性或设置方法,可以在反序列化时嵌入自定义代码,如上面的@JsonSerialize

6,@Transient

@ [电子邮件保护]映射,ORM框架将忽略此属性;

如果属性不是数据库表中的字段映射,则必须将其标记为@Transient。 否则,ORM框架的默认注释为@Basic。

//指示数据库表中不存在此字段

@Transient

公共int get age () {

返回1 1;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。