当前位置: 首页 > 知识库问答 >
问题:

两个json属性java之间的条件[关闭]

阚夕
2023-03-14

我想在对象使条件,例如,如果在响应我们有stateCode,选择属性stateCode,如果我们有stateName在响应选择stateName,它可能,你有解决方案吗?

这是对象的示例:

public class AdminAddressModel implements Serializable {

    @SerializedName("secondary")
    @ResponseRequiredField(canBeEmpty = true)
    @Expose
    private String secondary;

    @SerializedName("zipCode")
    @ResponseRequiredField(canBeEmpty = false)
    @Expose
    private String zipCode;

    @SerializedName("city")
    @ResponseRequiredField(canBeEmpty = false)
    @Expose
    private String city;

    @SerializedName("stateName")
    @ResponseRequiredField(canBeEmpty = false)
    @Expose
    private String stateName;

    @SerializedName("state")
    @ResponseRequiredField(canBeEmpty = false)
    @Expose
    private String state;

    @SerializedName("primary")
    @ResponseRequiredField(canBeEmpty = false)
    @Expose
    private String primary;

    public void setSecondary(String secondary){
        this.secondary = secondary;
    }

    public String getSecondary(){
        return secondary;
    }

    public void setZipCode(String zipCode){
        this.zipCode = zipCode;
    }

    public String getZipCode(){
        return zipCode;
    }

    public void setCity(String city){
        this.city = city;
    }

    public String getCity(){
        return city;
    }

    public void setStateName(String stateName){
        this.stateName = stateName;
    }

    public String getStateName(){
        return stateName;
    }

    public void setState(String state){
        this.state = state;
    }

    public String getState(){
        return state;
    }

    public void setPrimary(String primary){
        this.primary = primary;
    }

    public String getPrimary(){
        return primary;
    }

    @Override
    public String toString(){
        return
                "ShippingAddress{" +
                        "secondary = '" + secondary + '\'' +
                        ",zipCode = '" + zipCode + '\'' +
                        ",city = '" + city + '\'' +
                        ",stateName = '" + stateName + '\'' +
                        ",state = '" + state + '\'' +
                        ",primary = '" + primary + '\'' +
                        "}";
    }
}

这是stateCode,我想包括在那里,并作出条件,如果作为回应,我验证我们有stateCode,选择州代码,如果我们有stateName,选择stateName,有人帮助吗?

    @SerializedName("stateCode")
    @ResponseRequiredField(canBeEmpty = false)
    @Expose
    private String stateCode;

public void setStateCode(String stateCode){
    this.stateCode= stateCode;
}

public String getStateCode(){
    return stateCode;
}

此外,我还使用公共断言函数来验证我得到的对象模型和响应

AdminAddressModel不包含属性stateCode,响应中缺少必需字段stateName

我得到的响应,这就是为什么我想要这个条件,在响应stateCOde的EPs中,选择stateCode属性进行验证,如果他们有stateName,则选择stateName

共有1个答案

盖夕
2023-03-14

由于目标是创造令人满意的条件,您可以涵盖以下4种可能性:

public void checkForStateCodeOrName() {

            if (stateCode != null && stateName != null) {
                // There's both stateCode and stateName
                return;
            }

            if (stateCode != null || stateName != null) {
                // at least one has value
                if (stateCode == null) {
                    // You got a stateName!

                } else {
                    // You got a stateCode
                }
            } else {
                // both are empty!
            }}
 类似资料:
  • 我正在寻找一种方法来声明“2个依赖项之间的依赖项”。 例如,在我的模块中,我ivy.xml以下行: 我的问题是,日志经典 1.0.13 依赖于 slf4j-api 1.7.5,而我的模块依赖于 1.6.6(slf4japiversion 的值)。 我无法更改 slf4japiversion,但将来它可以由其他人升级。 有没有办法声明对logback的依赖关系,以检索与我的slf4j api版本兼容

  • 问题内容: 抱歉,我的问题是否愚蠢,没关系。但是我只想知道在这两种情况下会发生什么。 两者都只给出相同的结果。但是我知道有一些原因。我不知道这一点。这两个条件有什么区别? 问题答案: 它们之间没有任何区别。许多程序员使用第二种方法只是为了确保他们没有得到。就这样。

  • 我有一个Minecraft服务器,它被配置为根据游戏中发生的事件更改我的LED灯条的颜色,但是,此服务器仅在我的计算机上运行时才起作用。这是因为它需要使用Arduino来控制LED灯条。 我想知道是否有任何方法可以通过两个不同的jar文件进行通信,这样当Minecraft中发生事件时,它就会通过一个完全不同的文件告诉我的计算机。 例如:我使用像Server.pro这样的《我的世界》服务器托管商。每

  • 问题内容: 是否有一个跟踪用户某些事件的表。 总是有一个动作,之后可能会有一个动作。 现在,我想查询这两个动作之间的时间差,以获取用户和之间的time_diff 。 现在,您可以假定没有多个条目(例如,至少一个,最大另一个)。 我想要这样的结果: 问题答案: 您可以使用以下查询: 该子句过滤掉仅包含一个动作的组,例如OP中的with记录。 演示在这里

  • 问题内容: 说我有以下简单的Java bean: JSR 303中是否存在一种机制来创建自定义验证器,以验证startDate必须在endDate之前的约束? 在我看来,这是一个常见的用例,但是我找不到这种多属性关系约束的任何示例。 问题答案: 我可以想到一些尝试的方法。 您可以使用适当的验证器创建类型本身的目标: 您可以将日期范围封装为一种类型,并验证以下内容: 您可以添加执行检查的简单属性:

  • 问题内容: 我需要计算两个日期之间经过的时间。 这里要注意的是,我需要像YouTube一样用视频评论时间戳来显示它。也就是说,仅以最大的方式显示它。 例如, 如果时间是50秒前,应该说是50秒前。 如果时间超过一分钟,则应说一分钟前/十分钟前,等等。 如果时差是1小时30分钟,则应显示:一个小时前。 如果时间是一个半星期而不是一个星期前应该说的话。 如果时间超过一个月,则应说一个月前/两个月前,等