System.text.json.serialization.jsonConverter Что глобально пропускает свойства с данным атрибутом по написанию?C#

Место общения программистов C#
Anonymous
System.text.json.serialization.jsonConverter Что глобально пропускает свойства с данным атрибутом по написанию?

Сообщение Anonymous »

Представьте, что вы отметили все конфиденциальные данные с помощью атрибута [Secret] на протяжении всего вашего проекта и хотите, чтобы все это было удалено, когда вы сохраняете свои модели на диск, то есть следующую программу
using System.Text.Json;

JsonSerializerOptions options = new()
{
//Converters = { new JC.SecretAttributeConverterFactory() },
WriteIndented = true
};

C c = new() { Overt = "Overt", Secret = "Secret" };
var json = JsonSerializer.Serialize(c, options);
Console.WriteLine(json);

public class SecretAttribute : Attribute { }

class C
{
public required string Overt { get; set; }

[Secret]
public string? Secret { get; set; }

public List Collection { get; set; } = ["one", "two", "three"];
}
< /code>
Выходы < /p>
{
"Overt": "Overt",
"Collection": ["one", "two", "three"]
}
< /code>
возможно? Если сериализация выполняется без jsonconverter, то все собственные, сериализованы независимо от атрибута [секрета].

Подробнее здесь: https://stackoverflow.com/questions/797 ... properties

Вернуться в «C#»