ASP.NET Core 3.0 웹 API 프로젝트에서 Pascal Case 속성을 Camel Case로 직렬화 / 직렬화하기 위해 System.Text.Json 직렬화 옵션을 어떻게 지정 합니까?
Pascal Case 속성이 다음과 같은 모델이있는 경우 :
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;
});
새로운 System.Text.Json 네임 스페이스를 사용하여 ASP.NET Core 3.0에서 Camel Case serialize / deserialize를 어떻게 설정할 수 있습니까?
감사!