java - serialize - Ignorar el campo específico en la serialización con Jackson
objectmapper java (2)
Ok, entonces por alguna razón me perdí esta respuesta .
El siguiente código funciona como se espera:
@JsonIgnoreProperties({"foobar"})
public static class Foo {
public String foo = "a";
public String bar = "b";
public String foobar = "c";
}
//Test code
ObjectMapper mapper = new ObjectMapper();
Foo foo = new Foo();
foo.foobar = "foobar";
foo.foo = "Foo";
String out = mapper.writeValueAsString(foo);
Foo f = mapper.readValue(out, Foo.class);
Estoy usando la biblioteca de Jackson.
Quiero ignorar un campo específico al serializar / deserializar, por ejemplo:
public static class Foo {
public String foo = "a";
public String bar = "b";
@JsonIgnore
public String foobar = "c";
}
Debería darme:
{
foo: "a",
bar: "b",
}
Pero estoy obteniendo:
{
foo: "a",
bar: "b",
foobar: "c"
}
Estoy serializando el objeto con este código:
ObjectMapper mapper = new ObjectMapper();
String out = mapper.writeValueAsString(new Foo());
El tipo real del campo en mi clase es una instancia de la clase Log4J Logger. ¿Qué estoy haciendo mal?
También vale la pena señalar es esta solución que utiliza DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES: https://.com/a/18850479/1256179