在 JSON.NET 中序列化派生类时,字段的顺序。

28 浏览
0 Comments

在 JSON.NET 中序列化派生类时,字段的顺序。

考虑以下两个类:

public class Base {
    public string Id {get; set;}
    public string Name {get; set;}
    public string LastName {get; set;}
}
public class Derived : Base {
    public string Address {get; set;}
    public DateTime DateOfBirth {get; set;}
}

使用Json.Net对Derived类进行序列化时:

Derived record = new Derived();
// 这里进行初始化...
JsonConvert.SerializeObject(record);

默认情况下,Derived类的属性会首先出现:

{

"address": "test",

"date_of_birth" : "10/10/10",

"id" : "007",

"name" : "test name",

"last_name": "test last name"

}

我需要的是:

{

"id" : "007",

"name" : "test name",

"last_name": "test last name",

"address": "test",

"date_of_birth" : "10/10/10"

}

问题:

在序列化派生类时,是否有可能让基类的属性先出现(而不使用[JsonProperty(Order=)]来设置每个类的属性的顺序)?

0