Newtonsoft

包依赖:

Microsoft.AspNetCore.Mvc.NewtonsoftJson

Startup.cs 设置

services
.AddControllersWithViews()
.AddNewtonsoftJson();

 

注意:

日期时间格式问题

以上配置,在接口输出后,格式形如 2020-10-15T12:00:00

但客户端(js,android,ios)通常更容易接受  2020-10-15 12:00:00 这样的格式,所以可以如下设置

services
.AddControllersWithViews()
.AddNewtonsoftJson(options=> { 
    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
});

 

序列化首字母小写

var stocks = db.QuerySet<CommodityStock>()
    .Where(m => !m.IsDel)
    .Where(m => m.CommodityId == commodityId)
    .Select(m => new { m.Specification, m.Stock, m.Price, m.PriceForMarket, m.Cover, m.Id, m.LimitQuantityForMember })
    .ToList();

commodity.CacheStocks = JsonConvert.SerializeObject(stocks, new JsonSerializerSettings
{
    ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
});

// 结果 [{"specification":"","stock":2,"price":1.0,"priceForMarket":1.0,"cover":"",id:123,"limitQuantityForMember":true}]