ASP.NET Core 3.0 Web API projesinde, Pascal Case özelliklerini Camel Case ve / veya tersi otomatik olarak serileştirmek / serisini kaldırmak için System.Text.Json serileştirme seçeneklerini nasıl belirlersiniz ?
Pascal Case özelliklerine sahip bir model verildiğinde:
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
}
Ve Person
sınıf türüne bir JSON dizisinin serisini kaldırmak için System.Text.Json kullanmak için kod :
var json = "{\"firstname\":\"John\",\"lastname\":\"Smith\"}";
var person = JsonSerializer.Deserialize<Person>(json);
JsonPropertyName , aşağıdaki gibi her bir özellik ile kullanılmadıkça başarılı bir şekilde serileştirmeyi kaldırmaz :
public class Person
{
[JsonPropertyName("firstname")
public string Firstname { get; set; }
[JsonPropertyName("lastname")
public string Lastname { get; set; }
}
Aşağıdakileri denedim startup.cs
, ama yine de ihtiyaç duyma açısından yardımcı olmadı 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;
});
Yeni System.Text.Json ad alanını kullanarak ASP.NET Core 3.0'da Deve Kutusu serileştirmesini / serileştirmesini nasıl ayarlayabilirsiniz?
Teşekkürler!