【发布时间】:2015-03-06 13:39:51
【问题描述】:
我有一门课,
public class Parameters
{
public int Id {get;set;}
public string FilterParam {get;set;}
public string NameParam {get;set;}
public IList<int> CollectionsIds {get;set;}
public DataTable ParamTable {get;set;}
}
当我尝试序列化为 JSON 时,我收到循环引用错误“序列化对象时检测到循环引用”。
我的序列化代码是:
JSONSerializer.SerializeObject<Parameters>(parameters)
private static JavaScriptSerializer _jsonSerializer = null;
private static JavaScriptSerializer JSONSerializer
{
get
{
if (_jsonSerializer == null)
{
_jsonSerializer = new JavaScriptSerializer();
_jsonSerializer.MaxJsonLength = 999999999;
}
return _jsonSerializer;
}
}
public static string SerializeObject<T>(T obj)
{
return JSONSerializer.Serialize(obj);
}
如果类也包含dataTable,如何将类序列化为JSON格式?
注意:如果我将 dataTable 设置为 null,它可以正常工作,但是每当我尝试填充 dataTable 并调用方法来序列化它时都会失败。
【问题讨论】:
-
我薄的 Paramtable 具有与 Parameters 类相同的字段。看看这个stackoverflow.com/questions/17818386/…
-
对你来说忽略
DataTable就够了吗? -
@Tolga 不,我需要将 Datatable 与 Parameters 类一起存储到 JSON。在最坏的情况下,我可能需要通过创建与 DataTable 对应的类来解决问题。但我正在尝试为现有的类结构找到解决方案。
-
一个 V2Solutions,没有它的 DataTable 和 name 完全不同。我的意思是数据表的列名与类参数中声明的属性不同。
标签: c# json serialization