1

好的,所以我正在尝试使用 JavaScriptSerializer 来处理代码。但是,当它到达最后一行时会崩溃;

Dim json As New String(sr.Serialize(dt))

我收到此错误消息;

序列化“System.Reflection.Module”类型的对象时检测到循环引用。

我真的很感激任何可以帮助解决这个问题的见解。

4

2 回答 2

4

循环引用意味着序列化对象将导致无限循环。例如,如果您尝试序列化具有对对象“B”的 1 对 1 引用的对象“A”。

声明一个包含要使用 JSON 序列化的数据的类以解决此问题。

于 2010-02-21T22:00:50.057 回答
2

正如 hkda150 已经说过的,您可以使用专门为序列化定制的类。

此外,这将使您能够序列化外键值,而不是序列化相关的完整对象。因此,如果您正在序列化具有 B 类型属性 a.SomeB 的对象 a,那么您通常会希望 a.someB 的 ID 出现在您的网页中。显然,我不知道这是否与您的特定用例相关。

顺便说一句,如果您发现自己在“业务对象”和“用于序列化的对象”之间进行了大量映射,您可能需要考虑使用AutoMapper

于 2010-02-21T22:14:28.527 回答