Uso de Json.Net para deserializar propiedades sin serializar
En algunos casos, es posible que necesite deserializar propiedades de un objeto JSON serializado, pero no desee volver a escribirlas al serializar. A continuación se explica cómo lograr esto utilizando Json.Net.
Método 1: método ShouldSerialize
Json.Net le permite serializar propiedades condicionalmente definiendo el método ShouldSerialize en la clase. Cree un método ShouldSerializeBlah() (donde Blah es la propiedad que no desea serializar) y haga que siempre devuelva falso:
public bool ShouldSerializeObsoleteSetting()
{
return false;
}
Método 2: utilizar JObject para operar JSON
Utilice JObject.FromObject para cargar objetos en JObject. Elimine atributos innecesarios antes de escribir en JSON:
JObject jo = JObject.FromObject(config);
jo["ObsoleteSetting"].Parent.Remove();
json = jo.ToString();
Método tres: abuso de atributos
Aplique el atributo [JsonIgnore] a las propiedades que no desee serializar. Defina un definidor de propiedad privada con el mismo tipo y nombre que la propiedad original y aplíquele el atributo [JsonProperty] usando el mismo nombre JSON:
[JsonIgnore]
public Fizz ObsoleteSetting { get; set; }
[JsonProperty("ObsoleteSetting")]
private Fizz ObsoleteSettingAlternateSetter
{
set { ObsoleteSetting = value; }
}
Al utilizar uno de los métodos anteriores, puede excluir selectivamente propiedades de la serialización y al mismo tiempo permitir la deserialización.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3