AspNetCore 中的Json序列化处理已经默认使用Newtonsoft.Json库了...
比如像MVC中:
public I
不过使用过程中会发现一些问题,其实这算默认设置吧:
- Json序列化后的字段格式会变成小驼峰形式
- Json序列化时的日期时间格式化
- 没有处理循环引用的问题,比如EntityFramework的导航循环Json序列化时循环引用异常
- ...
可以通过Startup.cs
修改全局默认的Json序列化设置:
// Startup.cs
// ...
public void ConfigureServices(IServiceCollection services)
{
services.addMvc()
.AddJsonOptions(setupAction =>
{
// 忽略循环引用,规避EntityFramework导航属性json序列化时的循环引用问题
setupAction.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
// 使用默认json序列化,规避字段小驼峰命名法
//setupAction.SerializerSettings.ContractResolver = new DefaultContractResolver();
// 设置json序列化的日期时间格式
//setupAction.SerializerSettings.DateFormatString = "yyyy-MM-dd";
});
}
//...
参考文档: