我正在尝试做一个简单的JSON返回,但是我遇到以下问题。
public JsonResult GetEventData() { var data = Event.Find(x => x.ID != 0); return Json(data); }
我得到一个HTTP 500,但此问题的标题中显示了例外。我也试过
var data = Event.All().ToList()
那也带来了同样的问题。
这是错误还是我的实现?
看来您的对象层次结构中有循环引用,JSON序列化程序不支持。您是否需要所有列?您只能在视图中选择所需的属性:
return Json(new { PropertyINeed1 = data.PropertyINeed1, PropertyINeed2 = data.PropertyINeed2 });
这将使您的JSON对象更轻便,更易于理解。如果您有许多属性,则可以使用AutoMapper 自动在DTO对象和View对象之间进行映射。