JIL json сериализатор не сериализует свойства из производного класса - PullRequest
0 голосов
/ 09 декабря 2018

JIL json сериализатор не сериализует свойства из производного класса

Ниже приведен фрагмент кода:

public async Task WriteAsync(OutputFormatterWriteContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var response = context.HttpContext.Response; response.ContentType = "application/json";

            using (var writer = context.WriterFactory(response.Body, Encoding.UTF8))
            {
                Jil.JSON.Serialize(context.Object, writer);
                await writer.FlushAsync();
            }
        }

1) Тип модели:

public class BaseBOResponse
{    
   public string pk { get; set; }
}

public class PaymentTypeBOResponse : BaseBOResponse
{          
    public string description { get; set; }
    public bool isSystem { get; set; }
    public bool isActive { get; set; }           
}

Здесь, когда я устанавливаю что-то для свойства ответа BaseBOResponse "pk", сериализатор JIL удаляет это свойство.

Пожалуйста, предложите, если у вас есть какое-либо решение.

1 Ответ

0 голосов
/ 10 декабря 2018

Вы должны указать Джилу также включить унаследованные свойства:

Jil.JSON.Serialize(context.Object, writer, Jil.Options.IncludeInherited);
...