首页/技术分享

二次开发教程:Newtonsoft.Json 自定义序列化字段

发布于:2019-07-23 17:55:55
4021人 分享

 class Program

    {

        static void Main(string[] args)

        {

            var m = new JsonModel()

            {

                Id = 0,

                Name = "nnnn"

            };

 

            var json = JsonConvert.SerializeObject(m, new JsonSerializerSettings()

            {

                ContractResolver = new MyContractResolver(new List<string>(){ "Id" })

            });

 

            Console.WriteLine(json);

 

        }

    }

    public class JsonModel

    {

        [JsonProperty("myId")]

        public int Id { get; set; }

        public string Name { get; set; }

    }

    public class MyContractResolver : DefaultContractResolver

    {

        private List<string> _names = null;

        public MyContractResolver(List<string> names)

        {

            _names = names;

        }

        protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)

        {

            string name = member.Name;

            if (_names.Contains(name))

            return base.CreateProperty(member, memberSerialization);

            return null;

        }

    }

 

转载请注明来源本文地址:https://www.tuituisoft/blog/3160.html

上一篇:

关于revit中幕墙的绘制

下一篇:

C4D教程系列第二十三期—C4D融球工具篇