且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

NewtonSoft.Json 序列化和反序列化具有 IEnumerable 类型属性的类

更新时间:2023-02-17 20:21:19

你不需要使用 JsonConverterAttribute,只要保持你的模型干净并使用 CustomCreationConverter 代替,代码更简单:

You don't need to use JsonConverterAttribute, just keep your model clean and use CustomCreationConverter instead, the code is simpler:

public class SampleConverter : CustomCreationConverter<ISample>
{
    public override ISample Create(Type objectType)
    {
        return new Sample();
    }
}

那么:

var sz = JsonConvert.SerializeObject( sampleGroupInstance );
JsonConvert.DeserializeObject<SampleGroup>( sz, new SampleConverter());

文档:使用 CustomCreationConverter 反序列化