問題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 ...)
工作嗎?
任何幫助表示讚賞。謝謝!