zoukankan      html  css  js  c++  java
  • 几个关于json序列化 的注解

    一.@JsonProperty

    1.此注解用于属性上,作用是把该属性的名称序列化为另外一个名称。例如:

     @JsonProperty("name") 
     private String Name2; 

    把name2 在序列化的时候变成name。

    JsonProperty Maven依赖是

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

    二、@JsonSerialize

    注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码。例如将date转成long型

    1.自定义转换规则

    public class Date2LongSerialzer extends JsonSerializer<Date>{
    
        @Override
        public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
                throws IOException, JsonProcessingException {
            // TODO Auto-generated method stub
            gen.writeNumber(value.getTime()/1000);
        }
    
    }

    2.在属性上使用注解

    @JsonSerialize(using = Date2LongSerialzer.class)

    三、@JsonInclude(JsonInclude.Include.NON_NULL)

    在给前端返回的json数据上尽量不要有空的或者null出现,所以使用@JsonInclude(Include.NON_NULL) 这个注解放在类头上就可以解决。 实体类与json互转的时候 属性值为null的不参与序列化

    四、还有其他一些注解可以参照 https://www.cnblogs.com/guijl/p/3855329.html

     

  • 相关阅读:
    UML 类之间的关系
    [noi.ac省选模拟赛]第11场题解集合
    [CF1270F]Awesome Substrings
    [noi.ac省选模拟赛20200606]赌怪
    FFT,NTT入门
    [AHOI2017/HNOI2017]单旋
    [HNOI2016]最小公倍数
    [HNOI2016]树
    [HNOI2016]大数
    服务外包概论课程资料
  • 原文地址:https://www.cnblogs.com/li-zhi-long/p/9963144.html
Copyright © 2011-2022 走看看