次のクラスがあり、すべての getter-setter メソッドがあります。
public class Employee {
@JsonProperty("FirstName")
private String FirstName;
@JsonProperty("LastName")
private String LastName;
@JsonProperty("MiddleName")
private String MiddleName;
@JsonProperty("Address")
private String Address;
public String getMiddleName() {
return MiddleName;
}
public void setMiddleName(String middleName) {
MiddleName = middleName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
}
また、以下の JSON 文字列があります。
String jsonString = "{\"employee\": {\"FirstName\": \"FirstName++bb####**\",\"LastName\": \"LastName++bb####\",\"MiddleName\": \"MiddleName++bb####\",\"Address\": \"Address++bb####\"}}"
jackson API を使用して、json 文字列を Java オブジェクトに変換しています。これが私のコードです
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(jsonString, Employee.new);
ここで、JSON 文字列を Java オブジェクトにマッピングするときにフィルタを追加して、すべてのフィールドから特殊文字を削除する必要があります。
セッターメソッドを更新することで実現できます。元。
public void setAddress(String address) {
Address = address.replaceAll("[-+.^:,#,*,(,)]","");
}
Jackson APIにフィルターを追加するより良い方法、またはセッターメソッドを更新せずにこれを達成する他の方法はありますか?