序列化类型"System.Globalization.CultureInfo"的对象检测到循环引用


序列化类型为“System.Globalization.CultureInfo”的对象时检测到循环引用。该如何处理?


执行了下面的代码后就抛出了这个异常:


//根据页码获得数据,在()里要加上下文HttpContext context,要不然活不到数据
  void GetPagedList(HttpContext context)
  {
  //获取页码
  string strPi = context.Request.QueryString["pi"];   
  int intPi = 0;
    
  if (!int.TryParse(strPi, out intPi))
  {
  intPi = 1;
  }
  BLL.GetDate dal = new BLL.GetDate();
  DataSet list = dal.Bind();   
    
  //这行报错说“序列化类型为“System.Globalization.CultureInfo”的对象时检测到循环引用”
  string strJsonArr = new JavaScriptSerializer().Serialize(list);
  context.Response.Write(strJsonArr);   
  context.Response.End();

  }
  public DataSet Bind()
  {
  string sqlstr = "select * from xxxx";
  Common common = new Common();
  DataSet ds=common.GetDataSet(sqlstr);
  return ds;
  }


解决办法:

不能序列化集合类吧,参数是object只能序列对象之类的
把dataset转成JSON串的代码请参考下面这个帮助类

DataSet转换为Json帮助类库


原文链接:序列化类型"System.Globalization.CultureInfo"的对象检测到循环引用