我在循环引用项目中有一个对象。我已经把[JsonIgnore]场以上,像这样:JsonIgnore属性在ASP.NET中不起作用?
[JsonIgnore]
public virtual Foobar ChildObject { get; set; }
我仍然得到循环引用错误,当我序列化对象。唯一没有JsonIgnore的字段是字符串字段,不应该导致这种情况。我还需要做些什么才能让JsonIgnore工作?
谢谢!
我在循环引用项目中有一个对象。我已经把[JsonIgnore]场以上,像这样:JsonIgnore属性在ASP.NET中不起作用?
[JsonIgnore]
public virtual Foobar ChildObject { get; set; }
我仍然得到循环引用错误,当我序列化对象。唯一没有JsonIgnore的字段是字符串字段,不应该导致这种情况。我还需要做些什么才能让JsonIgnore工作?
谢谢!
您可能有其他一些链接回其父项的属性。使用ReferenceLoopHandling.Ignore
设置可防止自我引用循环。
using Newtonsoft.Json;
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
string json = JsonConvert.SerializeObject(foobars, Formatting.None, jsSettings);
我一直在寻找这个;有几个人提到Newtonsoft支持忽略循环引用,并且没有提到要设置的实际属性。谢谢! – defines 2011-11-19 17:11:50
谢谢但我该如何继续使用'JSon(models,“text/json”,JsonRequestBehavior.AlloGet)'? – Bellash 2014-09-25 13:38:51
@Bellash我不知道你在问什么。 – JustinStolle 2014-09-25 18:21:31
我的回答有帮助吗? – JustinStolle 2010-06-07 00:23:51
刚刚从度假回来,今晚我会看看这个,让你知道。谢谢! – 2010-06-07 20:33:20
您也可以使用[ScriptIgnore],因为[JsonIgnore]似乎没有实现。 – defines 2011-11-19 17:12:23