gpt4 book ai didi

java - Spring Boot,Jackson 在序列化中将空字符串转换为 NULL

转载 作者:行者123 更新时间:2023-12-05 02:57:57 28 4
gpt4 key购买 nike

我有一个要求,在进行序列化时,我应该能够将所有带有空字符串的属性(即“”)转换为 NULL,我在 Spring boot 中使用 Jackson,知道如何实现这一点吗?

最佳答案

是的,非常简单:对可以为空且必须为空的字段使用自己的序列化程序:

class TestEntity {

@JsonProperty(value = "test-field")
@JsonSerialize(usung = ForceNullStringSerializer.class)
private String testField;
}

class ForceNullStringSerializer extends JsonSerializer<String> {

@Override
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (value == null || value.equals("")) {
gen.writeNull();
} else {
gen.writeString(value);
}
}
}

这个序列化器可以应用于所有需要返回null的字段。

关于java - Spring Boot,Jackson 在序列化中将空字符串转换为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59491106/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com