打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
asp.net core 3.0 MVC JSON 全局配置

asp.net core 3.0 MVC JSON 全局配置

  • System.Text.Json(default)
  1. startup配置代码如下:
using System.Text.Encodings.Web;using System.Text.Json;using System.Text.Unicode;public void ConfigureServices(IServiceCollection services){     services.AddJsonOptions(options =>            {                //格式化日期时间格式                options.JsonSerializerOptions.Converters.Add(new DatetimeJsonConverter());                //数据格式首字母小写                //options.JsonSerializerOptions.PropertyNamingPolicy =JsonNamingPolicy.CamelCase;                //数据格式原样输出                options.JsonSerializerOptions.PropertyNamingPolicy = null;                //取消Unicode编码                options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);                //忽略空值                options.JsonSerializerOptions.IgnoreNullValues = true;                //允许额外符号                options.JsonSerializerOptions.AllowTrailingCommas = true;                //反序列化过程中属性名称是否使用不区分大小写的比较                options.JsonSerializerOptions.PropertyNameCaseInsensitive = false;            });}
using System;using System.Text.Json;using System.Text.Json.Serialization;public class DatetimeJsonConverter : JsonConverter<DateTime>    {        public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)        {            if (reader.TokenType == JsonTokenType.String)            {                if (DateTime.TryParse(reader.GetString(), out DateTime date))                    return date;            }            return reader.GetDateTime();        }        public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)        {            writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));        }    }
  1. 官方API
  • Newtonsoft.Json
  1. Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson -Version 3.1.0
  2. startup配置代码如下:
using Newtonsoft.Json;using Newtonsoft.Json.Serialization;public void ConfigureServices(IServiceCollection services){    services.AddControllersWithViews(...).AddNewtonsoftJson(options =>            {                //设置时间格式                options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";                //忽略循环引用                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;                //数据格式首字母小写                //options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();                //数据格式按原样输出                options.SerializerSettings.ContractResolver = new DefaultContractResolver();                //忽略空值                options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;            });}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
.NET 中的 Json 使用体验
asp.net core 实现支持多语言
ASP.NET Core MVC/API(一)
[.Net 5.0] 8.异常的Json序列化
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)
使用ASP.NET Core 3.x 构建 RESTful API - 1.准备工作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服