公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP.NET Core Web API設置響應輸出的Json數據格式的兩種方式

freeflydom
2023年11月29日 9:52 本文熱度 1398

前言

在ASP.NET Core Web API中設置響應輸出Json數據格式有兩種方式,可以通過添加System.Text.JsonNewtonsoft.JsonJSON序列化和反序列化庫在應用程序中全局設置接口響應的Json數據格式,本文示例使用的是新的Minimal API模式。

JSON序列化和反序列化庫

System.Text.Json

System.Text.Json是 .NET Core 3.0 及以上版本中內置的 JSON 序列化和反序列化庫。

Newtonsoft.Json

Newtonsoft.Json是一個功能強大且靈活的.NET JSON序列化和反序列化庫,用于在.NET應用程序中處理JSON數據。

設置Json統一格式需求

  1. 修改屬性名稱的序列化方式,在.Net Core中默認使用小駝峰序列化Json屬性參數,前端想要使用與后端模型本身命名格式輸出(如:UserName)。

  2. 日期類型默認格式化處理,設置為:yyyy-MM-dd HH:mm:ss。

未配置之前的API輸出Json數據

UserInfoModel

    public class UserInfoModel
    {
        public DateTime DateTime { get; set; }

        public int NumberIndex { get; set; }

        public string UserName { get; set; }
    }

UserInfoController

    [ApiController]
    [Route("[controller]")]
    public class UserInfoController : ControllerBase
    {
        private static readonly string[] NameList = new[] { "追逐時光者", "小明同學", "DotNetGuide", "小藝同學", "Edwin" };


        [HttpGet(Name = "GetUserInfo")]
        public IEnumerable<UserInfoModel> Get()
        {
            return Enumerable.Range(1, 5).select(index => new UserInfoModel
            {
                DateTime = DateTime.Now.AddDays(index),
                NumberIndex = Random.Shared.Next(-20, 55),
                UserName = NameList[Random.Shared.Next(NameList.Length)]
            }).ToArray();
        }
    }

輸出Json數據

System.Text.Json程序全局配置

添加自定義時間輸出格式類(DateTimeJsonConverter)

    public class DateTimeJsonConverter : JsonConverter<DateTime>
    {
        public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
            return DateTime.Parse(reader.GetString());
        }

        public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
        {
            writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));
        }
    }

在Program.cs中全局配置

            builder.Services.AddControllers().AddJsonOptions(options =>
            {
                //命名規則,該值指定用于將對象上的屬性名稱轉換為另一種格式(例如駝峰大小寫)或為空以保持屬性名稱不變的策略[前端想要使用與后端模型本身命名格式輸出]。
                options.JsonSerializerOptions.PropertyNamingPolicy = null;

                //自定義輸出的時間格式
                options.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter());
            });

配置后輸出的Json數據

Newtonsoft.Json程序全局配置

說明

在.NET 3.0及其以上的版本使用Newtonsoft.Json需要通過安裝 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包來進行配置(注意假如提示該包安裝失敗可以嘗試安裝其他版本的包)。

在Program.cs中全局配置

            builder.Services.AddControllers().AddNewtonsoftJson(options =>
            {
                //修改屬性名稱的序列化方式[前端想要使用與后端模型本身命名格式輸出]
                options.SerializerSettings.ContractResolver = null;

                //方式1:日期類型默認格式化處理 
                options.SerializerSettings.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });
                //方式2:日期類型默認格式化處理 
                //options.SerializerSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
                //options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
            });

配置后輸出的Json數據

參考文章


作者:追逐時光者

來源:https://www.cnblogs.com/Can-daydayup/p/17860547.html


該文章在 2023/11/29 9:52:32 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产成人免费v片在线观看 国产成人免费不卡在线观看 | 国产三级精品美女三级 | 国产精品毛片在线完整版的 | 国产精品无码专区在线观看不卡 | 国产交换一区二区三区 | 国产精品色综合久久 | 国产女人喷潮免费视频 | 极品女神的精彩世界 | 成人区人妻精品黑人av | 丰满少妇大力进入 | av无码专区亚洲av波多野结衣 | 国产女主播喷水视频在线观看 | 国产原创中文麻豆 | 国产精品午夜无码av天美传 | 91华人在线视频 | 国产大片大全免费看软件下 | 国产成年无码av片在线韩国 | 国产女同无遮挡互慰高潮 | 99久久精品无码一区二区涩爱 | 黑色jk白丝粉嫩自慰喷水喷浆 | 国产成人精品成人a在线观看 | 白丝jk被折磨到高潮视频 | 成人无码a级毛片免费 | 国产一区二区三区激情四射 | 国产无码动漫一区二区三区 | 国产一区二区三区不卡在线 | 91po国产在线高清福利 | 东京热毛片无码dvd一二三区 | 国产一区鲁鲁在线视频免费播放 | 国产精品亚洲综合一区在线观看 | 国产精品白浆一区二区三 | 国产成人欧美精品视频app | av天堂午夜精品一区 | 国产亚洲日韩网曝欧美精品 | 国产无码一区二区三区在线观看 | 69久久国产精品亚洲大片 | 韩国三级日本三级在线观看 | 国产日韩久久久久无码精品 | 91无码欧精品亚洲日韩一区 | 二区本道av特级毛片 | 国产免费午夜福利在在线 |