[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结果为:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。