我有幾個屬性的對象:如何選擇在運行時爲JSON對象序列化哪些屬性?
public class Contacts
{
[JsonProperty]
public string Name { get; set; }
[JsonProperty]
public string City { get; set; }
[JsonProperty]
public string State { get; set; }
[JsonProperty]
public string CompanyType { get; set; }
[JsonProperty]
public string Url { get; set; }
[JsonProperty]
public string PKey { get; set; }
[JsonProperty]
public string SubscriptionDate { get; set; }
}
在我的web服務這個對象的數組被序列化和使用Newtonsoft.Json的方法提供給客戶端的JSON:
context.Response.Write(JsonConvert.SerializeObject(new { ContactsArray = contactsArray }));
我想改變我的服務,使客戶可以指定哪些字段,他們希望序列化,所以如果他們把他們的要求爲:
http://myservice.com?fields=Name,City,State
只有名稱,城市和州將被序列化,但我不知道如何在飛行中執行此操作。
我讀了關於ShouldSerialzeProperty()
方法,但我不知道該在方法中應該檢查什麼。