当 JSON 中提供的字段为 null 或使用注释为空时,如何为字段分配默认值? [已关闭]

问题描述 投票:0回答:2

我在尝试发送空字段时遇到空指针异常。我需要一种注释方法。不需要 if-else 方法。

我尝试了if-else方法并且它有效。但我需要一种注释方法来解决这个问题。

java json annotations
2个回答
1
投票

在 Java 中,当 JSON 中提供的字段为 null 或空时,可以使用 Jackson 库提供的 @JsonIninclude 注解为字段分配默认值。

以下是如何使用@JsonInclude注释的示例:

import com.fasterxml.jackson.annotation.JsonInclude;

public class YourClass {
    @JsonInclude(JsonInclude.Include.NON_NULL) 
    private String yourField;

    // Default constructor
    public YourClass() {
        yourField = "default value"; // Assign the default value here
    }

    // Getters and setters for yourField
    public String getYourField() {
        return yourField;
    }

    public void setYourField(String yourField) {
        this.yourField = yourField;
    }
}

在此示例中,@JsonInclude 注解用于指定仅当字段的值不为 null 时才应将字段包含在 JSON 输出中。默认值“default value”是在类的默认构造函数内部设置的。

这样,当 JSON 中提供的字段为 null 或空时,将使用默认值进行序列化,而不需要在代码中使用 if-else 方法。


0
投票

我假设你想要进行反序列化(是这样吗?)

有关 Jackson 库和空值,请参阅 使用 Jackson 映射时将默认值设置为空字段

对于空字段,如果它是字符串,请查看此属性:

spring.jackson.deserialization.accept-empty-string-as-null-object=true

它将全局所有空字符串替换为 null。

© www.soinside.com 2019 - 2024. All rights reserved.