-1
我正在编写一个web api使用我现有的模型类和模型服务,也正在被许多其他应用程序使用,这需要模型完全暴露在序列化中。我可以为web api使用相同的模型对象,并只显示几个字段。c#避免嵌套类对象的子属性的序列化
我已经尝试使用JsonContractResolver,但它无法序列化嵌套类中的子属性。
/*Model class*/
public class A
{
public int A1 { get; set; }
public DateTime A2 { get; set; }
public List<B> A3 { get; set; }
}
public class B
{
public string B1 { get; set; }
public string B2 { get; set; }
public string B3 { get; set; }
}
预期输出: 当Web应用程序的方法得到类A的成员,它应该返回以下JSON:
{"A1":1,"A2":"2017-02-10","A3":[{"B1":"test1","B2":"test2","B3":"test3"}]}
当web API获取类A的成员,它应该退货:
{"A1":1,"A3":[{"B1":"test1"}]}
请指教应该采取什么样的最佳方法。
_“使用相同的模型对象的Web API和只露出几个字段” _ - 使用的ViewModels,使用匿名类型或[使用每个应用程序或端点的自定义序列化程序](http://stackoverflow.com/questions/25157511/newtonsoft-add-jsonignore-at-runtime)。你的研究表明了什么? – CodeCaster