У меня есть следующие классы:
FormGroupModel имеет список FormFieldModel, который имеет список FieldOptionModel.
public class FormGroupModel
{
public string GroupLabel { get; set; }
public IEnumerable<FormFieldModel> Fields { get; set; }
}
public class FormFieldModel
{
public string Name { get; set; }
public string Label { get; set; }
public string ControlType { get; set; }
public IEnumerable<FieldOptionModel> Options { get; set; }
}
public class FieldOptionModel
{
public string Value { get; set; }
public string Label { get; set; }
}
Я настроил параметры сериализации Json в Startup.cs для NullValueHandling.Ignore. Нулевые значения для моих других возвращаемых значений API все игнорируются, как и ожидалось. Эта сериализация объекта все еще не избавляет от массива Options, когда он пуст. Я также пробовал DefaultValueHandling.Ignore, но тоже не работает. Как я могу получить список опций, который будет игнорироваться, когда он пуст?
[
{
"groupLabel": "Basic Information",
"fields": [
{
"name": "ProjectDescription",
"label": "Project Description",
"controlType": "multiline",
"options": []
},
{
"name": "ProjectId",
"label": "Project Id",
"controlType": "textfield",
"options": []
},
{
"name": "ProjectName",
"label": "Project Name",
"controlType": "textfield",
"options": []
},
{
"name": "ProjectScope",
"label": "Project Scope",
"controlType": "multiline",
"options": []
}