-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