WebApiConfig.cs中加入 如下代码即可解决无限循环问题
var json = config.Formatters.JsonFormatter; // 解决json序列化时的循环引用问题 json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; // 干掉XML序列化器 config.Formatters.Remove(config.Formatters.XmlFormatter);
另外还有一个问题就是ef 如果用到 lazy加载的话, 输出的ef实体 会将关联表数据 都输出出来,解决方案是:
1.将没用的字段置空
2.用动态类型输出,例如: return new{xx=user.userId,yy=...}
3.将virtual属性标记为 忽略输出json
EF webapi json序列化 表间相互引用 无限循环问题解决方案
原文:http://www.cnblogs.com/duanweishi/p/4363052.html