zoukankan      html  css  js  c++  java
  • NetCore偶尔有用篇:NetCore项目WebApi返回Json属性大小写,含NetCore2.0 NetCore3.0

    一、概述


    1、前面文章介绍Controller的大小写问题时,目的只是介绍它的差异性,有同学回复了,这里把它作为一个点写一下吧。

    二、默认定义的转换结果


    1、写一个返回对象的方法。

    2、运行查看结果。

    复制代码
        public class OneController : Controller
        {
            public Model GetString(string id)
            {
                return new Model() { ID = id, Name = "aa" };
            }
        }
    
        public class Model
        {
            public string ID { get; set; }
            public string Name { get; set; }
        }
    复制代码

    运行结果 

     三、自定义转换方法 (以下是NetCore 2.0的写法)


    1、添加Startup自定义转换代码。

    2、重新运行查看结果。

     四、自定义转换方法 (以下是NetCore 3.0的写法)


     需要先引用 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包 

    复制代码
                services.AddMvc().AddNewtonsoftJson(options =>
                {
                    // 忽略循环引用
                    options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                    // 不使用驼峰
                    options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                    // 设置时间格式
                    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                    // 如字段为null值,该字段不会返回到前端
                    // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
                });
                //或
                services.AddControllers().AddNewtonsoftJson(options =>
                {
                    // 忽略循环引用
                    options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                    // 不使用驼峰
                    options.SerializerSettings.ContractResolver = new DefaultContractResolver();
                    // 设置时间格式
                    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                    // 如字段为null值,该字段不会返回到前端
                    // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
                });
    复制代码

     转自:https://www.cnblogs.com/chenyinxin/p/9015712.html

  • 相关阅读:
    vagrant 的安装与使用
    vagrant 的安装与使用
    rz、sz (上传下载)命令参数的解释
    rz、sz (上传下载)命令参数的解释
    TensorFlow 学习(十五)—— tensorflow.python.platform
    音乐的作曲形式
    vc中edit控件使用总结
    引用 LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别
    编译原理三大经典书籍(龙书 虎书 鲸书)
    VS2003与Win7的兼容性问题
  • 原文地址:https://www.cnblogs.com/niyl/p/14714455.html
Copyright © 2011-2022 走看看