У проекті API 3.0 Web ASP.NET ядра, як ви визначаєте System.Text.Json параметри сериализации для сериализации / десеріалізациі властивостей Паскаля випадку до ГорбатийРегістр і навпаки автоматично?
Дано модель із властивостями корпусу Паскаля, такі як:
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
}
І використовувати код System.Text.Json для деріаріалізації рядка JSON до типу Person
класу:
var json = "{\"firstname\":\"John\",\"lastname\":\"Smith\"}";
var person = JsonSerializer.Deserialize<Person>(json);
Не успішно дезаріалізується, якщо JsonPropertyName не використовується з кожним властивістю, наприклад:
public class Person
{
[JsonPropertyName("firstname")
public string Firstname { get; set; }
[JsonPropertyName("lastname")
public string Lastname { get; set; }
}
Я спробував наступне в startup.cs
, але це не допомогло з точки зору необхідності JsonPropertyName
:
services.AddMvc().AddJsonOptions(options =>
{
options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
});
// also the following given it's a Web API project
services.AddControllers().AddJsonOptions(options => {
options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
});
Як можна встановити Camel Case серіалізувати / десеріалізувати в ASP.NET Core 3.0 за допомогою нового простору імен System.Text.Json?
Дякую!