我有一个类,
partial class Customer
{
[JsonProperty]
public string Name { get; set; }
[JsonProperty]
public string Address{ get; set; }
[JsonProperty]
public string CardInfo { get; set; }
public int CustomerId { get; set; }
}
当我序列化它时,客户 ID 不存在。这就是我希望它的工作方式。 我有一个单独的方法,我需要将客户 ID 发回。那么我应该使用自定义序列化程序吗?有没有办法使用相同的类来实现这一点。
可以使用 JSON.Net 的条件序列化功能:
partial class Customer
{
// Ignoring the property since it's only used to indicate if we should serialize
// CustomerId or not
[JsonIgnore]
public bool IncludeCustomerId {get;set;}
[JsonProperty]
public string Name { get; set; }
[JsonProperty]
public string Address{ get; set; }
[JsonProperty]
public string CardInfo { get; set; }
public int CustomerId { get; set; }
public bool ShouldSerializeCustomerId()
{
return IncludeCustomerId;
}
}
现在,Json.Net 只会序列化CustomerId
,如果您将IncludeCustomerId
设置为true
。