我需要扩展任何对象的默认序列化(实现特定接口),为简单起见,我们可以在生成的JSON中添加其他属性(然后才能正确加载此对象)。
我的问题是我已经将 TypeNameHandling设置为“自动” ,并且如果我创建了自定义JsonConverter(Newtonsoft.Json),甚至调用了原始序列化(最初通过禁用我的串行器来避免循环)我没有自动生成“ $ type”属性(正确的反序列化是必需的)。它不是由我的父母自动添加的,因此我不能强迫序列化程序执行此操作(原因如下)。
我自己也无法生成它,因为我无权访问上下文,即包含要序列化的对象实例的属性的类型,其中说明 expected 类型(与实际类型进行比较,以决定是否应生成$ type)。我只能始终生成它。有什么办法解决这个问题?
我想避免替换默认的序列化(只是为了扩展它),并保持Auto
TypeNameHandling
的行为。