Anonymous
System.text.json.serialization.jsonConverter Что глобально пропускает свойства с данным атрибутом по написанию?
Сообщение
Anonymous » 13 сен 2025, 13:57
Представьте, что вы отметили все конфиденциальные данные с помощью атрибута [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"]
}
возможно?
Подробнее здесь:
https://stackoverflow.com/questions/797 ... properties
1757761032
Anonymous
Представьте, что вы отметили все конфиденциальные данные с помощью атрибута [Secret] на протяжении всего вашего проекта и хотите, чтобы все это было удалено, когда вы сохраняете свои модели на диск, то есть следующую программу [code]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] возможно? Подробнее здесь: [url]https://stackoverflow.com/questions/79763669/system-text-json-serialization-jsonconvertert-which-globally-omits-properties[/url]