平时做项目的时候大多数时候喜欢用webapi+html静态页面开发
这样的话开发移动端会比较方便
webapi在直接输出类的时候,会序列化所有属性,
底层是通过Newtonsoft.Json来实现的
于是就可以通过给class设置标签来让webapi不序列化某个属性.
[JsonObject(MemberSerialization.OptOut)]
public class LoadModel
{
[JsonIgnore]
public HttpPostedFileBase file { get; set; }
[JsonProperty]
public string base64 { get; set; }
[JsonProperty]
public string type { get; set; }
public string title { get; set; }
}
当class设置标签为[JsonObject(MemberSerialization.OptOut)]时,属性标签为[JsonIgnore]的不会被序列化
当class设置标签为[JsonObject(MemberSerialization.OptIn)]时,属性标签为[JsonProperty]的会被序列化
一般我喜欢用[JsonObject(MemberSerialization.OptOut)],因为基本上都是要输出的嘛,个别会不输出而已..