Как установить настройки JsonSerializer по умолчанию глобально - PullRequest
0 голосов
/ 14 октября 2019

Для System.Text.Json.JsonSerializer мне приходится устанавливать параметры каждый раз, когда я сериализую или десериализуем, или приходится устанавливать атрибуты для каждого свойства объекта из-за отсутствия способа установить / изменить настройки по умолчанию. По крайней мере, я не могу найти его.

JsonSerializer.Deserialize<TypeListDTO>(
    "{\"listNo\":33}", 
    new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase});

Есть ли такой способ? Если нет, есть ли обходной путь?

РЕДАКТИРОВАТЬ: Я использую .Net Core 3 с маршрутизацией конечной точки. Но вполне может не использовать его вообще.

1 Ответ

0 голосов
/ 14 октября 2019

Попробуйте добавить AddJsonOptions (Action) в Startup.ConfigureServices:

services.AddMvc()
  .AddJsonOptions( options =>
  {
    options.SerializerSettings.Formatting = Formatting.Indented;
    options.SerializerSettings.TypeNameHandling = TypeNameHandling.Objects;
    options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
  });
...