いくつかの注釈を持つオブジェクトがあります:
@JsonInclude(Include.NON_DEFAULT)
@JsonIgnore and
@JsonProperty("BLA BLA")`
値が変更されていないフィールドを無視してオブジェクトをシリアル化し、他のフィールドを常に無視する必要があります。シリアル化中に、json文字列内でいくつかのフィールドに異なる名前を付けたいと思います。そのすべてがうまく機能します。私の問題は、いくつかのフィールドを動的に除外しようとするときです! 見つけたすべての例を試しましたが、何も機能しませんでした。フィールドを動的に除外できませんでした。私の他の注釈がそれを妨げているのでしょうか?
これは私のコードです:
@JsonInclude(Include.NON_DEFAULT)
public class objectFilter implements Serializable {
@JsonIgnore
private String filterDescription = "";
private String[] address = {"","0","false"};
@JsonProperty("status.statusCode")
private String[] statusCode = {"","0","false"};
@JsonIgnore
private String statusCodeDescription = "";
@JsonProperty("createdUser.userCode")
private String[] createdUser = {"","0","true"};
@JsonIgnore
private String createdUserDescription = "";
@JsonProperty("List.endorsment")
private String[] endorsment1 = {"","0","false"};
@JsonProperty("endorsment")
private String[] endorsment2 = {"","0","false"};
@JsonProperty("List.policy")
private String[] policy1 = {"","0","false"};
@JsonProperty("policy")
private String[] policy2 = {"","0","false"};
//getters and setters
}
たとえば、 @JsonIgnore を使用していない場合でも、一部のフィールドをシリアル化から除外できるようにしたい: policy2 および endorsment2 を除くすべてのフィールドを、他のフィールドに値が含まれている場合でも除外したい。
これはどのように行うことができますか?
助けてください。