ServiceStack.Text не обрабатывает JsonIgnore (Условие = JsonIgnoreCondition.WhenWritingNull)C#

Место общения программистов C#
Anonymous
ServiceStack.Text не обрабатывает JsonIgnore (Условие = JsonIgnoreCondition.WhenWritingNull)

Сообщение Anonymous »

Я пытаюсь сериализовать класс Microsoft.AspNetCore.Mvc.ProblemDetails, и он имеет JsonIgnore с условиями для его свойств, таких как Title

Код: Выделить всё

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyOrder(-4)]
[JsonPropertyName("title")]
public string? Title { get; set; }
Когда я использую ServiceStack.Text для сериализации, заголовок этого объекта опускается, хотя он не равен нулю и содержит действительную строку. Есть ли способ заставить ServiceStack.Text соблюдать эти условия или просто игнорировать JsonIgnore, поскольку я использую IgnoreDataMember для подавления поля при сериализации. Надеюсь, что вам не придется писать собственный сериализатор для этого типа...
Изменить:
Похоже, вы можете подавить JsonIgnore вот так

Код: Выделить всё

JsConfig.IgnoreAttributesNamed = ["JsonIgnore"];
Однако это также приводит к тому, что IgnoreDataMember перестает работать :( так что это на самом деле не решение, потому что тогда вы не сможете ничего подавить...

Подробнее здесь: https://stackoverflow.com/questions/790 ... ion-whenwr

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