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"}