我有一个对象,它对另一个对象有循环引用。考虑到这些对象之间的关系,这是正确的设计。
为了显示
Machine => Customer => Machine
正如预期的那样,当我尝试使用 Json 序列化机器或客户对象时,我遇到了问题。我不确定如何解决这个问题,因为我不想破坏机器和客户对象之间的关系。解决这个问题有哪些选择?
Edit
目前我正在使用Controller基类提供的Json方法。所以我正在做的序列化是基本的:
Json(machineForm);
Update:
不要尝试使用NonSerializedAttribute
,作为JavaScriptSerializer
显然忽略了它。
相反,使用ScriptIgnoreAttribute
in System.Web.Script.Serialization
.
public class Machine
{
public string Customer { get; set; }
// Other members
// ...
}
public class Customer
{
[ScriptIgnore]
public Machine Machine { get; set; } // Parent reference?
// Other members
// ...
}
这样,当你扔一个Machine
进入Json
方法,它将遍历关系Machine
to Customer
但不会尝试回去Customer
to Machine
.
这种关系仍然存在,您的代码可以随心所欲地进行操作,但是JavaScriptSerializer
(由使用Json
方法)将忽略它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)