c#-Json-序列化对属性名排序

 public class SortContractResolver : DefaultContractResolver
    {
        protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            IList<JsonProperty> properties = base.CreateProperties(type, memberSerialization);

            return properties.OrderBy(x=>x.PropertyName).ToList();
        }
    }
  public async Task RunAsync()
        {
            var obj = new {
                B = 123,
                A = new {
                    D = 1,
                    F = 2,
                    E=3
                },
                C="34"
            };
            Console.WriteLine(JsonConvert.SerializeObject(obj, new JsonSerializerSettings { ContractResolver = new SortContractResolver() }));

            await Task.CompletedTask;
        }

output:

{"A":{"D":1,"E":3,"F":2},"B":123,"C":"34"}

 

posted @ 2019-08-28 22:13  自笑非  阅读(1730)  评论(2编辑  收藏  举报