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