El uso de JsonIgnoreProperties propiedades deserializar propiedad específica sólo existe en JSON

user7294900:

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 JSONes

{ "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))?

Roee Gavirel:

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]}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=189457&siteId=1
Recomendado
Clasificación