asp.net core 2.1 json сериализация нулевой массив не игнорируется - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть следующие классы: 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": []
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...