C# 序列化为中文

需求:封装WebAPI,将属性、枚举转化为中文名

1.通过反射获取DisplayName

		public class Device
	   {
	        [DisplayName("名称")]
	        public string Name { get; set; }
	        [DisplayName("序列号")]
	        public string SN { get; set; }
	        [JsonConverter(typeof(StringEnumConverter))]
	        public TaskState TaskState { get; set; }
	    }

		//测试代码
		[HttpGet]
        public object Get()
        {
            var devPros = typeof(Device).GetProperties();
            return devPros.Select(_ => new
            {
                name = _.Name,
                dName = _.GetCustomAttributes().FirstOrDefault().DisplayName
            });
         }

2.枚举序列化为中文名

		//枚举
		public enum TaskState
    	{
	        出初始未运行 = 0,
	        正在执行中 = 1
        }
		//测试代码
		[HttpGet]
        public object Get()
        {
			var device= new Device{ Name = "设备1", SN = "D01", TaskState = TaskState.正在执行中 };
        	return device;
         }

你可能感兴趣的:(json)