Versuchen Sie das folgende Beispiel.
public class Card {
public int id;
public String pin;
}
public class CardSerializer extends StdSerializer<Card> {
public CardSerializer() {
this(null);
}
public CardSerializer(Class<Card> t) {
super(t);
}
@Override
public void serialize(Card value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeNumberField("id", value.id);
jgen.writeStringField("pin", "****");
jgen.writeEndObject();
}
}
Dann müssen Sie Ihren Kunden Serializer mit dem ObjectMapper
Card card = new Card(1, "12345");
ObjectMapper mapper = new ObjectMapper();
SimpleModule module = new SimpleModule();
module.addSerializer(Card.class, new CardSerializer());
mapper.registerModule(module);
String serialized = mapper.writeValueAsString(card);
Es gibt einige Verbesserungen, die Sie hier wie die Registrierung der Serializer tun können, auf die Klasse direkt registrieren, aber Sie können mehr darüber lesen Sie hier Abschnitt 4 - http://www.baeldung.com/jackson-custom-serialization
Sie benötigen Kunden Serializer für die hier schauen - http://www.baeldung.com/jackson-custom-serialization –