使用JsonSerializer对返回前端数据的进行规定

Posted shouyaya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JsonSerializer对返回前端数据的进行规定相关的知识,希望对你有一定的参考价值。

例子:

1.将Date类型从毫秒级变为秒级的:

  a.编写一个继承JsonSerializer的类:

public class Data2LongSerializer extends JsonSerializer<Date> {
    @Override
    public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        jsonGenerator.writeNumber(date.getTime()/1000);
    }
}

  b.在返回页面的VO对象中添加注解

    /** 创建时间. */
    @JsonSerialize(using = Data2LongSerializer.class)
    private Date createTime;

    /** 更新时间. */
    @JsonSerialize(using = Data2LongSerializer.class)
    private Date updateTime;

 

2.若属性为null则不返回

  a.在返回页面的VO对象添加注解(仅在单一返回页面的VO对象生效):

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderDTO {...}

  b.在application.yml中设置(全局配置):

  jackson:
    default-property-inclusion: non_null

 

    

以上是关于使用JsonSerializer对返回前端数据的进行规定的主要内容,如果未能解决你的问题,请参考以下文章

System.Text.Json.JsonSerializer.Serialize 返回空 Json 对象“”[重复]

.NET Core 3.0 JsonSerializer.Deserialize 返回dynamic类型对象

FasterXml - JsonSerializer HashMap

List to JSON with JsonSerializer.Serializer 返回 null

C# JsonSerializer.Serialize 在生成的json中添加键值

如何使用 ServiceStack JsonSerializer 序列化 Hashtable?