问题ASP .NET - JsonIgnore似乎并没有工作
返回,因为循环引用的JSON结果时,我不能在MVC的.Net序列化一个对象。类型检测
自参照环......
我的实体类:
public class Subscriber
{
[JsonIgnore]
public virtual ICollection<Tag> Tags { get; set; }
}
在控制器:
public JsonResult GetSubscribers(GridRequestModel model)
{
data = ... get data ..
JSON(data, JsonRequestBehavior.AllowGet);
}
看来THA t的.NET序列化程序似乎没有考虑到JsonIgnore,因为我仍然得到错误。
尝试性解决方案
我改变了我的控制器到以下几点:
public JsonResult GetSubscribers(GridRequestModel model)
{
data = ... get data ..
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
string json = JsonConvert.SerializeObject(data, Formatting.None, jsSettings);
JSON(json, JsonRequestBehavior.AllowGet);
}
这一次我得到:
的RelationshipManager对象无法序列化。当RelationshipManager属于未实现IEntityWithRelationships的 实体对象时,无法序列化此类型的 对象。
此外,不确定是否可以直接返回字符串,因为我有返回类型的JsonResult。 Json(json ...)
工作吗?
任何帮助表示赞赏。谢谢!