如何检查 JSON 字段是否为空和 null

我正在尝试检查 JSON 字段为空或空,它适用于空字符串而不适用于空


Lombok 我只是用来覆盖 ToString,但我正在使用 Jackson 库


import lombok.ToString;


@ToString

public class DefaultModel {


    private String name;

    private String age;  


    public String getName() {

        return name;

    }


    public void setName(String name) {

        this.name = name;

    }


    public String getAge() {

        return age;

    }


    public void setAge(String age) {

        if (age.trim().isEmpty()||age==null) {

            this.age="101";

        } else {

            this.age=age;

        }

    }

}

这是控制器:


@RequestMapping(value="/default", method=RequestMethod.POST)

public DefaultModel m1(@RequestBody() DefaultModel model) {

    System.out.println(model);

    return model;

}

它适用于空字符串,但不适用于我没有在正文中传递 JSON 字段时


失败案例:


{

    "name":"some"

}

我知道另一种情况是愚蠢的,但我尝试过,而且我什至不想为此空值提供 0.1%


{

    "name":"some",

    "age":null

}


Helenr
浏览 630回答 2
2回答

收到一只叮咚

在您的 if 语句中:if (age.trim().isEmpty() || age==null)首先需要进行空检查,否则age.trim()如果值为空,则在调用该方法时您将收到 NullPointerException 。例如,只需将其更改为: if (age==null || age.trim().isEmpty())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java