Вы можете настроить DefaultContractResolver
:
public class LowercaseContractResolver : DefaultContractResolver
{
protected override string ResolvePropertyName(string propertyName)
{
return propertyName;
}
}
Зарегистрируйтесь в Startup.cs для глобальной сериализации:
public void ConfigureServices(IServiceCollection services)
{
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
ContractResolver = new LowercaseContractResolver()
};
services.AddMvc();
}
Вы можете протестировать, как показано ниже:
[HttpGet]
public ActionResult<string> Get()
{
var user = new User()
{
Id = 1,
Name = "aa",
MyAddress = "sad"
};
var data = JsonConvert.SerializeObject(user);
return data;
}
Или вы можете установить для вывода json как показано ниже:
return new JsonResult(user, new JsonSerializerSettings { ContractResolver = new LowercaseContractResolver() });