2010-02-21 117 views
1

好的,我试图使用JavaScriptSerializer与this代码一起使用。然而,当它到达最后一行时它会崩溃;将DataTable转换为JSON的VB.NET问题

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

我得到这个错误信息;

循环引用检测 而串行化类型 “System.Reflection.Module”的一个目的。

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

回答

4

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

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

+0

任何代码如何做到这一点? – Saravanan 2011-08-12 06:07:02

2

正如hkda150已经说过的,你可以使用专门为被序列化而量身定做的类。

这将进一步使您能够序列化外键值,而不是将相关的完整对象序列化。因此,如果您要序列化具有属性a.SomeB的对象a,那么您通常会希望a.someB的ID出现在您的网页中。很明显,我不知道这是否与您的具体使用案例相关。如果你发现自己在“业务对象”和“用于序列化的对象”之间做了很多映射,你可能需要考虑使用AutoMapper