分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

fastjson的@JSONField注解

发布时间:2023-09-06 02:08责任编辑:顾先生关键词:jsjson
@JSONField
作用:在字段和方法上
1.Field:@JSONField作用在Field时,name可以定义输入key的名字,反序列化的时 值不会赋值到属性上
2.作用在setter和getter方法上
 /** ????* bean 转json 时会把bean中的name转换为project_name ????* ?????*/ ???@JSONField(name="project_name") ???public String getName() { ???????return name; ???} /** ????* son 转bean 时会把json中的project_name值赋值给name ????* ?????*/ ???@JSONField(name="project_name") ???public void setName(String name) { ???????name= name; ???}

  3.format :用在Date类型的字段来格式化时间格式

  4.布尔类型:serialize和deserialize

    在序列化的时候就不包含这个字段了。deserialize与之相反。但是有一点需要注意,当字段为final的时候注解放在字段上是不起作用的,这时候应该放在get或set方法上。

@JSONField(serialize=false) private String name

  5.serialzeFeatures 属性:fastjson默认的序列化规则是当字段的值为null的时候,是不会序列化这个字段

{"name":"LiSi","age":18,"address":null}
  对象序列化下边的类,结果是:{"name":"LiSi","age":18}
Student s = ?new Student ();s.setName("LiSi");s.setAge(18);s.setAdderss(null);

  6.SerializerFeature枚举:

@JSONField(serialzeFeatures=SerializerFeature.WriteMapNullValue)private String address;

当value的值为null的时候,依然会把它的值序列化出来: {"name":"LiSi","age":18,"address":null}

当字段类型为int类型时,会序列化成 0,需要把类型改成Integer

fastjson的@JSONField注解

原文地址:https://www.cnblogs.com/qinxu/p/9413207.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved