好的,我正在尝试使用JavaScriptSerializer来处理this代码。但是当它到达最后一行时会崩溃;
Dim json As New String(sr.Serialize(dt))
我收到此错误消息;
检测到循环参考 在序列化类型的对象时 'System.Reflection.Module'。
我真的很感激有助于解决这个问题的任何见解。
答案 0 :(得分:4)
循环引用意味着序列化对象会导致无限循环。 例如,如果您尝试序列化对象“A”,对对象“B”具有1对1的引用。
声明一个包含要使用JSON序列化的数据的类来解决此问题。
答案 1 :(得分:2)
正如hkda150已经说过的那样,你可以使用专门为序列化而定制的类。
这将使您能够序列化外键值,而不是序列化相关的完整对象。因此,如果要序列化具有类型B属性a.SomeB的对象a,那么您通常希望a.someB的ID出现在您的网页中。显然,我不知道是否可以说这是否与您的特定用例相关。
顺便说一句,如果您发现自己在“业务对象”和“用于序列化的对象”之间进行了大量映射,您可能需要考虑使用AutoMapper。