[MVC_Json序列化]MVC之Json序列化循環引用


在做MVC項目時,難免會遇到Json序列化循環引用的問題,大致錯誤如下

錯誤1:序列化類型為“。。。”的對象時檢測到循環引用。

錯誤2:Self referencing loop detected for property '。。。' with type '。。。'. Path '[0].x[0]'.

以上錯誤是因為數據庫表關系引起的,比如一對一或多對多,如圖:

EF里面是這樣的,如圖:

 

解決方法:

步驟1:

-引用JSON.NET

 

步驟2:

-引用Newtonsoft.Json

 

步驟3:

-Json序列化

public JsonResult Contact()
{
            
      var result = from score in context.Prarent
                     select score;
      string json = JsonConvert.SerializeObject(result, new JsonSerializerSettings
      {
            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
      });
      return Json(new { data = json }, JsonRequestBehavior.AllowGet);
}

返回的Json結果為:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM