zoukankan      html  css  js  c++  java
  • .net core3.1 web api中使用newtonsoft替换掉默认的json序列化组件

    在微软的文档中,有着较为详细的替换教程

    https://docs.microsoft.com/zh-cn/aspnet/core/web-api/advanced/formatting?view=aspnetcore-3.1

    但是微软的文档并不算太详细,对于新手而言,着实不算太友好。以下是我基于微软给出的方案,列出的更为详尽的方案。

    第一步,引入包

     第二步,修改sartups.cs中的 ConfigureServices

    在web api项目中,加入以下代码:

    #region newtonsoft
    .AddNewtonsoftJson(options =>
    {
    //修改属性名称的序列化方式,首字母小写
    options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

    //修改时间的序列化方式
    options.SerializerSettings.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy/MM/dd HH:mm:ss" });
    }
    );
    #endregion

     至此,替换步骤结束。

    接下来,让我们看一下是否是真的替换成功。

    首先,在控制器里,添加一个get方法,输出类型为jsonresult

    在GetCartInfo方法中,返回类型如下

     这是标准的C#命名方式,而我们前面配置的newtonsoft中,将属性首字母设置为了小写

     接下来运行项目,使用postman测试接口,测试结果如下:

     可以发现,接收到的json数据中,所有名称都是小写开头,说明我们前面的配置已经生效。

    至此,替换成功。

  • 相关阅读:
    java事件处理机制(自定义事件)
    EL表达式 (详解)
    Java编程思想(四) —— 复用类
    优秀辅助网站使用记录
    快速部署tomcat项目的Shell脚本
    数据库SQL优化大总结
    常用排序算法及应用背景
    Java面试通关秘籍汇总集
    Java堆、栈和常量池以及相关String详解
    常用加密算法概述
  • 原文地址:https://www.cnblogs.com/shapman/p/12232640.html
Copyright © 2011-2022 走看看