将DataTable转换为JSON的VB.NET问题

时间:2010-02-21 21:52:09

标签: vb.net json datatable dataset javascriptserializer

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

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

我收到此错误消息;

  

检测到循环参考   在序列化类型的对象时   'System.Reflection.Module'。

我真的很感激有助于解决这个问题的任何见解。

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

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

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