我正在尝试做一个简单的 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 对象。