zoukankan      html  css  js  c++  java
  • asp.net core 3 WebApi System.Text.Json 返回数据配置

    一、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

    1. Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson -Version 3.1.0
    2. startup配置代码如下: 
    3. 引用:
      using Newtonsoft.Json;
      using Newtonsoft.Json.Serialization;
      

        

      services.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;
                  });
       
  • 相关阅读:
    洛谷 P1498 南蛮图腾
    洛谷 P1538 迎春舞会之数字舞蹈
    洛谷 P1112 波浪数
    洛谷 P1102 A−B数对
    数字量化值Digital Number, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive
    ENVI下基于劈窗算法从MODIS数据中反演海表温度
    ENVI 5.1安装教程
    一些链接
    1、GeometryService计算面积和长度(Calculate_Feature_Length_Or_Area)功能实现
    1、GeometryService的缓冲区(Buffer)功能实现
  • 原文地址:https://www.cnblogs.com/wfpanskxin/p/12917941.html
Copyright © 2011-2022 走看看