Java 根据条件作为请求传递给API时排除JSON对象中的值
当根据条件作为输入传递给API时,我想从JSON对象中排除一个值。i、 对于某些不需要部分key:value的场景,但对于某些场景,key:value是需要的 输入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 {
{
"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;