c#& json.NET - 在反序列化成员之前调用构造函数

时间:2012-03-14 16:50:26

标签: c# json.net

我刚刚开始使用Json.NET,它看起来像一个很棒的包!但是,我遇到了一个奇怪的问题。它按照我期望的方式序列化对象,加载时,它通常可以正常工作。但是,我的一个对象的行为非常奇怪,它首先尝试反序列化其成员,然后THEN调用构造函数。这会导致问题,因为成员对象在创建它们之前依赖于它们的所有者进行初始化。

我为我想要的构造函数设置了一个JsonConstructor属性,但我不知道如何避免这个奇怪的问题。如果您想了解我正在尝试做的更多细节,请参阅CodePlex上的帖子:http://json.codeplex.com/discussions/348577

1 个答案:

答案 0 :(得分:0)

我通过使用C#的内置DataContractSerializer解决了这个问题。此方法实际上不会调用任何初始值设定项,但允许您设置反序列化时运行的方法。更多信息请访问:http://msdn.microsoft.com/en-us/library/ms731073.aspx