我有一个对象,我想序列化到JSON并使用camelcase。我有一个.Net Core3WebApi应用程序,我的启动文件中有以下服务注册:
services.AddControllersWithViews();
services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});在我的控制器中,我有以下内容:
var js = JObject.FromObject(obj);现在,这个序列化的结果如下:
{
StartRow: 1,
EndRow: 2
}当我实例化一个JsonSerializer并将它作为第二个参数传递时,我得到了预期的camelcase格式:
{
startRow: 1,
endRow: 2
}以下是代码:
var serializer = new JsonSerializer()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var js = JObject.FromObject(obj, serializer);这意味着我必须对每个控制器都有一个序列化程序。
我在想我是不是漏掉了什么东西还是记错了什么。
谢谢。
发布于 2019-12-30 02:22:07
试试这个:
public void ConfigureServices(IServiceCollection services)
{
//do your stuff..
services.AddControllers().AddNewtonsoftJson();
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
//do your stuff..
}参考资料:
https://stackoverflow.com/questions/59523105
复制相似问题