JSON.Net使用T </t>的非基本类型序列化派生的List <t>

时间:2014-06-11 16:35:48

标签: c# json.net

当我为类XList<RealPOCO>使用序列化程序时,元素未被序列化。 如果我序列化List<string>甚至是从List<string>派生的类,那么它可以正常工作。

序列化程序仅生成$typeCapacityCount属性。

以下是我使用

的序列化设置
JsonSerializerSettings
{
    NullValueHandling = NullValueHandling.Include,
    Converters = new List<JsonConverter>
    {
        new IsoDateTimeConverter(),
        new StringEnumConverter()
    },
    TypeNameHandling = TypeNameHandling.All
};

1 个答案:

答案 0 :(得分:0)

您可能不同意DataContract或标记DataMember

您的通用类需要看起来像这样

[DataContract]
internal  class Person
{
    [DataMember]
    internal string name;

    [DataMember]
    internal int age;
}

请注意班级上方的[DataContract]属性和每个成员上方的[DataMember]属性

这些属性告诉序列化程序该对象是可序列化的以及允许序列化的内容。

您可以在MSDN Documentation here

上查看更多内容