asp.net core 3 WebApi 返回資料配置
阿新 • • 發佈:2020-05-20
一、System.Text.Json
引用:
using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Unicode;
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")); } }
二、Newtonsoft.Json
- Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson -Version 3.1.0
- startup配置程式碼如下:
-
引用:
using Newtonsoft.Json; using Newtonsoft.Json.Serialization;
services.AddNewtonsoftJson(options => { //設定時間格式 options.SerializerSettings.DateFormatString = "