json.net:通用List的serialise属性

时间:2016-06-06 02:57:21

标签: json serialization

我有"人" class和" NamedList"从通用列表派生的类:

public class Person
{
    public string FullName
    {
        get;
        set;
    }
}

public class NamedList : List<Person>
{
    public string Name
    {
        get;
        set;
    }
}

我将person的实例添加到命名列表的实例:

NamedList namedList = new NamedList();
namedList.Name = "Persons";

Person person = new Person();
person.FullName = "James Bond";

namedList.Add(person);

我使用JSON.Net库序列化命名列表:

string serializedNamedList = JsonConvert.SerializeObject(namedList, Formatting.Indented);

目前的序列化结果是:

[
  {
    "FullName": "James Bond"
  }
]

但是我希望将列表的名称序列化得很好,就像这样:

{
    "Name": "Persons"
    [
        {
            "FullName": "James Bond"
        }
    ]
}

我怎样才能实现它? 谢谢

1 个答案:

答案 0 :(得分:0)

尝试而不是从NamedList派生List<Person>,将List<Person>定义为NamedList类的成员变量,并在其中声明方法add(Person p) NamedList附加到内部列表的类。