Usando Json.Net para desserializar propriedades sem serializar
Em alguns casos, pode ser necessário desserializar propriedades de um objeto JSON serializado, mas não deseja gravá-las de volta durante a serialização. Veja como conseguir isso usando Json.Net.
Método 1: método ShouldSerialize
Json.Net permite serializar propriedades condicionalmente definindo o método ShouldSerialize na classe. Crie um método ShouldSerializeBlah() (onde Blah é a propriedade que você não deseja serializar) e faça com que ele sempre retorne false:
public bool ShouldSerializeObsoleteSetting()
{
return false;
}
Método 2: Use JObject para operar JSON
Use JObject.FromObject para carregar objetos em JObject. Remova atributos desnecessários antes de escrever em JSON:
JObject jo = JObject.FromObject(config);
jo["ObsoleteSetting"].Parent.Remove();
json = jo.ToString();
Método três: abuso de atributos
Aplique o atributo [JsonIgnore] às propriedades que você não deseja serializar. Defina um configurador de propriedade privada com o mesmo tipo e nome da propriedade original e aplique o atributo [JsonProperty] a ele usando o mesmo nome JSON:
[JsonIgnore]
public Fizz ObsoleteSetting { get; set; }
[JsonProperty("ObsoleteSetting")]
private Fizz ObsoleteSettingAlternateSetter
{
set { ObsoleteSetting = value; }
}
Usando um dos métodos acima, você pode excluir seletivamente propriedades da serialização e ainda permitir a desserialização.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3