using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using System; using LM.Core.Filters; namespace LM.Core.Controllers.Basic { [JWTAuthorize, ApiController] public class VolController : Controller { public VolController() { } /// /// 2020.11.21增加json原格式返回数据(默认是驼峰格式) /// /// /// /// protected JsonResult JsonNormal(object data, JsonSerializerSettings serializerSettings = null, bool formateDate = true) { serializerSettings = serializerSettings ?? new JsonSerializerSettings(); serializerSettings.ContractResolver = null; if (formateDate) { serializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; } serializerSettings.Converters.Add(new LongCovert()); return Json(data, serializerSettings); } } public class LongCovert : JsonConverter { public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.Value == null) { return null; } long.TryParse(reader.Value.ToString(), out long value); return value; } public override bool CanConvert(Type objectType) { return typeof(long) == objectType || typeof(long?) == objectType; } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { writer.WriteNull(); return; } serializer.Serialize(writer, value.ToString()); } } }