使用JSON.NET序列化/反序列化派生对象而不使用JsonProperty?
发布时间:2020-12-16 18:40:16 所属栏目:百科 来源:网络整理
导读:我正在使用NewtonSoft JSON.NET库来序列化以下类,其中DTOBase可以保存派生实例. public class Command{ public DTOBase CommandDTO { get; set; } } 根据this article,您需要包含JsonProperty属性,以便派生实例正确反序列化 public class Command{ [JsonProp
我正在使用NewtonSoft
JSON.NET库来序列化以下类,其中DTOBase可以保存派生实例.
public class Command { public DTOBase CommandDTO { get; set; } } 根据this article,您需要包含JsonProperty属性,以便派生实例正确反序列化 public class Command { [JsonProperty(TypeNameHandling = TypeNameHandling.All)] public DTOBase CommandDTO { get; set; } } 问题是除了使用属性获得相同的结果之外是否还有其他方法?我更愿意不与NewtonSoft库和json序列化相结合,特别是在类级别.有没有办法在库的Serialize / Deserialize方法上指定一些设置以获得相同的结果? 解决方法
调用JsonConvert.SerializeObject(value,settings)时,可以在JsonSerializerSettings上设置TypeNameHandling属性.
如果只希望包含派生对象的名称,请将TypeNameHandling设置为TypeNameHandling.Auto. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |