我有这样的课:
[JsonObject(MemberSerialization.OptIn)]
public class Event
{
[JsonProperty]
public Guid EventID;
public string Source;
public UInt64? EventCode;
public DateTime? TimeStamp;
[JsonProperty]
public string SourceType;
...
}
和这样的 web api2 控制器:
[HttpPost]
public IHttpActionResult Post([FromBody]Event @event) { ... }
我的问题是,即使在 Post 调用中提供了所有 Event 参数,但 Source、EventCode 和 TimeStamp 都被忽略了。由于 JsonProperty 注释,它们被忽略了。但是它们已经到位,因为稍后将序列化对象,其中只有带注释的值应该被序列化。
那么,如何让所有属性反序列化,但只有一些属性被序列化?