namespace:System.Text.Json

抽象类,用于提供Json转换时的输出格式

namespace System.Text.Json
{
    public abstract class JsonNamingPolicy
    {
        protected JsonNamingPolicy();

        public static JsonNamingPolicy CamelCase { get; }

        public abstract string ConvertName(string name);
    }
}

 


 
默认的Policy为CamelCase,即驼峰式

通过继承JsonNamingPolicy创建自定义的JSON转换策略

MSDN给出的示例:

public class UpperCaseNamingPolicy : JsonNamingPolicy
{
     public override string ConvertName(string name) => name.ToUpper();
}

重写CovertName方法,转化JSON字符串时输出全大写,作用与对象的属性名

var options = new JsonSerializerOptions
{
    PropertyNamingPolicy = new UpperCaseNamingPolicy(),
    WriteIndented = true
};
jsonString = JsonSerializer.Serialize(weatherForecast, options);