千家信息网

Json的注解有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Json的注解有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.@JsonIgnoreProperties在类上注解哪些属性不
千家信息网最后更新 2026年11月02日Json的注解有哪些

Json的注解有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.@JsonIgnoreProperties
在类上注解哪些属性不用参与序列化和反序列化

@Data@JsonIgnoreProperties(value = { "word" })  public class Person {   private String hello;  private String word;}

2.@JsonIgnore
属性上忽略

@Datapublic class Person {   private String hello;  @JsonIgnore  private String word;}

3.@JsonFormat
格式化序列化后的字符串

@Datapublic class Person{  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")  private Date time;  private String hello;  private String word;}

4.@JsonSerialize
序列化的时候通过重写的方法,可以加在get方法上,也可以直接加在属性上

@Datapublic class Person {   private String hello;  private String word;  @JsonSerialize(using = CustomDoubleSerialize.class)  private Double money;}public class CustomDoubleSerialize extends JsonSerializer {     private DecimalFormat df = new DecimalFormat("#.##");    @Override       public void serialize(Double value, JsonGenerator jgen, SerializerProvider provider) throws IOException,            JsonProcessingException {        jgen.writeString(df.format(value));       }}

5.@JsonDeserialize
反序列化的时候通过重写的方法,可以加在set方法上,也可以直接加在属性上

@Datapublic class Person {   private String hello;  private String word;   @JsonDeserialize(using = CustomDateDeserialize.class)  private Date time;}public class CustomDateDeserialize extends JsonDeserializer {        private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");        @Override      public Date deserialize(JsonParser jp, DeserializationContext ctxt)              throws IOException, JsonProcessingException {            Date date = null;          try {              date = sdf.parse(jp.getText());          } catch (ParseException e) {              e.printStackTrace();          }          return date;      }  }

5.@JsonInclude
Include.Include.ALWAYS 默认
Include.NON_DEFAULT 属性为默认值不序列化
Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化(想前端传数据的时候list为空的时候不进行序列化)
Include.NON_NULL 属性为NULL 不序列化

@Datapublic class OrderProcessTime {     @JsonInclude(JsonInclude.Include.ALWAYS)    private Date plan;}

6.@JsonProperty
用于表示Json序列化和反序列化时用到的名字,例如一些不符合编程规范的变量命名

@Datapublic class Person {   private String hello;  private String word;   private Date time;  @JsonProperty(value = "DeliveryTime")  private Integer deliveryTime;}


7.Java序列化排除指定字段

使用变量修饰符 transient

这里打印password 的值是为 空的

使用关键字 static

第二种这个很容易产生误解,content在输出的时候还是有数据的,

反序列化输入的值是 "只是之前的值" ,之后打印的值虽然也是看到 "只是之前的值",其实这个不是序列化那个的值的

如果不理解,可以从新设置一个content的值

MsgInfo.setContent("这是修改的");

在反序列化打印处理后,会看到输出的值是刚刚设置的值 "这是修改的"

关于Json的注解有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

序列 属性 方法 时候 注解 问题 变量 只是 数据 更多 这是 帮助 解答 输出 易行 简单易行 不用 关键 关键字 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 上海睿民互联网科技有限公司 中国互联网科技工作委员会毛军 互联网电商科技 互联网络科技有限公司 互联网科技金融公司 汇久创客互联网科技 赫美联合互联网科技 一五八零互联网科技 互联网科技咨询 须眉科技是互联网公司吗 宁夏科技产业互联网案例 互联网科技商业 宜昌元轩互联网科技有限公司 互联网行业科技股 智帮互联网科技公司最近动向 山东大美朱楼互联网科技有限公司 互联网领先科技成果宣传视频 重庆科技产业互联网有哪些 互联网企业和网络科技有限公司 南京欣网互联网络科技有限公司 新华互联网科技学校 金融科技还是互联网 上海挚品互联网科技 互联网实体化科技化 互联网汽车科技小镇 佳云科技和互联网广告 卡尔迅互联网科技有限公司 北京天晋互联网科技有限公司 广州三三互联网科技有限公司
0