Java 根据条件作为请求传递给API时排除JSON对象中的值

Java 根据条件作为请求传递给API时排除JSON对象中的值,java,json,Java,Json,当根据条件作为输入传递给API时,我想从JSON对象中排除一个值。i、 对于某些不需要部分key:value的场景,但对于某些场景,key:value是需要的 输入JSON如下所示 { "customerNumber" : "6634374019", "ea" : "", "source" : "Test", "dataCentre" : "US", "requestId" : "CSP-QA-1574" } 上面的课程如下 public class order {

当根据条件作为输入传递给API时,我想从JSON对象中排除一个值。i、 对于某些不需要部分key:value的场景,但对于某些场景,key:value是需要的

输入JSON如下所示

{
  "customerNumber" : "6634374019",
  "ea" : "",
  "source" : "Test",
  "dataCentre" : "US",
  "requestId" : "CSP-QA-1574"
}
上面的课程如下

public class order
{
   @JsonProperty(value="customerNumber")
   public String customerNumber;
   @JsonProperty(value="ea")
   public String ea;
   @JsonProperty(value="source")
   public String source;
   @JsonProperty(value="dataCentre")
   public String dataCentre;
   @JsonProperty(value="requestId")
   public String requestId;
    //constructor for assiging data
     //getters and setters
}
有人能帮我吗。对于某些场景,我不想在JSON输入中传递“ea”key:value,在某些场景中,我需要传递。如何做到这一点

提前使用THNAK

使用:

@JsonIgnore
要快乐


干杯

如果我必须这样做,那么我会采取稍微不同的方法

 JsonObject gsonObject=new JsonObject();
        gsonObject.addProperty("ea","value");
就像有条件地添加属性()。
因为我没有足够的rep,所以我把它当作是答案而不是注释

如果您想忽略任何未传递的值,可以在类级别使用@JsonIgnoreProperties。如果要忽略单个值,可以在成员级别使用@JsonIgnore

@JsonIgnoreProperties({"Ignore 1", "Ignore 2"})
   class Sample {


您好,谢谢您的回复。我已经使用了上面提到的工作良好,但我有两个相同场景的测试用例,其中一个需要ea值,另一个应该忽略。如何处理这个问题。尝试使用属性而不是字段!!说真的。您好,谢谢您的回复。我已经使用了上面提到的工作良好,但我有两个测试用例用于相同的场景,其中一个需要ea值,另一个应该忽略。如何处理该字段。即使为该字段指定了@JsonIgnore,也可以传递该值。您可以更新assert语句以验证是否传递了字段。如果您的响应与“传递”值和“不传递”不同,那么同样的方式,断言也会有所帮助。
class Sample {
    private String xyz;

    @JsonIgnore
    private String ignorethis;