序列化“SubSonic.Schema .DatabaseColumn”類型的對象時檢測到循環(huán)引用。我正在嘗試做一個簡單的JSON返回,但我遇到了問題,我有以下內(nèi)容。public JsonResult GetEventData(){
var data = Event.Find(x => x.ID != 0);
return Json(data);}我得到了一個HTTP 500,例外情況如此問題的標(biāo)題所示。我也試過了var data = Event.All().ToList()這給了同樣的問題。這是一個錯誤還是我的實現(xiàn)?
3 回答

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗 獲得超0個贊
似乎您的對象層次結(jié)構(gòu)中存在循環(huán)引用,JSON序列化程序不支持該引用。你需要所有的欄目嗎?您只能在視圖中選擇所需的屬性:
return Json(new { PropertyINeed1 = data.PropertyINeed1, PropertyINeed2 = data.PropertyINeed2});
這將使您的JSON對象更輕松,更容易理解。如果您有許多屬性,AutoMapper可用于在DTO對象和View對象之間自動映射。

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊
我有同樣的問題并解決了 using Newtonsoft.Json;
var list = JsonConvert.SerializeObject(model, Formatting.None, new JsonSerializerSettings() { ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore});return Content(list, "application/json");
- 3 回答
- 0 關(guān)注
- 468 瀏覽
添加回答
舉報
0/150
提交
取消