最近有人问我怎么定制一个json序列化,使序列化的时候只写出声明的父类成员,而不要把实际子类的成员写出来.当然,序列化用的是大家用的最多的json.net. 简单的说,这是个契约怎么解析的问题,json.net选择使用实际类型自然是有多方面的考量,毕竟申明类型可以是抽象类或接口等.废话不说了,直接上代码(仅用于示例,要用于生产的话需要处理各种边缘情况). 类型关系 public class RootObj { public A A { get; set; } } public class A {…