【发布时间】:2014-03-05 23:02:31
【问题描述】:
我有以下型号:
public class DocumentViewModel
{
public long Id { get; set; }
public long? ParentFolderId { get; set; }
public bool IsFolder { get; set; }
public bool IsImage { get; set; }
}
以及以下 API 控制器:
public HttpResponseMessage GetChildren(long jobId, long folderId)
{
using (var model = DatabaseHelper.GetModel())
{
var accessLevel = MembershipHelper.GetLoggedInAccessLevel(model);
List<DocumentViewModel> documents = DocumentHelper.GetDocumentsForMobile(model, jobId, folderId, accessLevel).ToList();
return this.Request.CreateResponse(
HttpStatusCode.OK,
new { data = documents });
}
}
问题是当我在 Fiddler 中查看 IsFolder 和 IsImage 设置为 false 时,json 中缺少 IsFolder 和 IsImage。当它们设置为 true 时,它们显示得很好。
我怀疑这是因为 .Net 认为 true 是默认值,并排除了与默认值相同的字段。
无论如何,我如何告诉 .Net 始终包含此值?
【问题讨论】:
标签: json serialization asp.net-web-api json.net default-value