Me topé con un código que añade JsonIgnoreProperties a una propiedad que no existe en la clase, sino que existe en JSON
, por ejemplo:
@JsonIgnoreProperties({"ignoreprop"})
public class VO {
public String prop;
}
cuando JSON
es
{ "prop":"1", "ignoreprop":"9999"}
Me pregunto si tiene propiedades ignorar ninguna ventaja (s) En cuanto al rendimiento o es sólo código redundante?
Anotación que se puede utilizar ya sea a la serialización de supresión de propiedades (durante la serialización), o ignorar el procesamiento de las propiedades JSON leer (durante la deserialización).
EDITAR
¿Hay alguna ventaja (s) haciendo caso omiso de propiedad específica sobre todos (con @JsonIgnoreProperties(ignoreUnknown=true)
)?
Me pregunto si tiene propiedades ignorar ninguna ventaja
Sí, se utiliza una gran cantidad de visión de la compatibilidad de los servicios. Digamos que usted tiene Servicios A y B. En la actualidad A envía peticiones a B con algunos objetos JSON.
Ahora quiere apoyar una nueva propiedad en el JSON. Si usted tiene esta característica, son capaces de dejar A iniciar el envío de la nueva propiedad antes de que B sabe cómo manejarlo. Desacoplar el desarrollo de esos procesos de dos servicios.
ignorando específica de propiedad sobre todos
Este caso tiene algunas ventajas de rendimiento menor. En primer lugar, no trata de analizar esta propiedad, que puede ser una cadena simple o compleja objeto / matriz. En segundo lugar, ayuda a evitar el manejo de una excepción. Pensar que todo lo siguiente puede ser llamadas válidas y sólo se preocupan por prop
:
{ "prop":"1", "ignoreprop":"9999"}
{ "prop":"1", "ignoreprop":{ "a": { "key": "value", "foo": false }}}
{ "prop":"1", "ignoreprop":[1,2,3,4,5,6..... 1000000]}