欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net使用DataTable构造Json字符串的方法

程序员文章站 2024-02-11 23:45:52
本文实例讲述了asp.net使用datatable构造json字符串的方法。分享给大家供大家参考,具体如下: /// /// 将...

本文实例讲述了asp.net使用datatable构造json字符串的方法。分享给大家供大家参考,具体如下:

/// <summary>
/// 将datatable转换为json
/// </summary>
/// <param name="dtb"></param>
/// <returns></returns>
private string dtb2json(datatable dtb) {
  javascriptserializer jss = new javascriptserializer();
  system.collections.arraylist dic = new system.collections.arraylist();
  foreach (datarow dr in dtb.rows)
  {
   system.collections.generic.dictionary<string, object> drow = new system.collections.generic.dictionary<string, object>();
   foreach (datacolumn dc in dtb.columns)
   {
    drow.add(dc.columnname, dr[dc.columnname]);
   }
   dic.add(drow);
  }
  //序列化
  return jss.serialize(dic);
} /// <summary>
/// 构建json字符串
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string createjsonparameters(datatable dt)
{
 system.text.stringbuilder sb = new system.text.stringbuilder();
 if (dt != null && dt.rows.count > 0)
 {
  sb.append("[");
  for (int i = 0; i < dt.rows.count; i++)
  {
   sb.append("{");
   for (int j = 0; j < dt.columns.count; j++)
   {
    //如果值不是最后一个则添加逗号分隔
    if (j < dt.columns.count - 1)
    {
     sb.append("/"" + dt.columns[j].columnname.tostring() + "/":" + "/"" + dt.rows[i][j].tostring() + "/",");
    }
     //如果值为最后个字符则不添加逗号
    else if (j == dt.columns.count - 1)
    {
     sb.append("/"" + dt.columns[j].columnname.tostring() + "/":" + "/"" + dt.rows[i][j].tostring() + "/"");
    }
   }
   //如果为最后一个值的话 则不添加逗号
   if (i == dt.rows.count - 1)
   {
    sb.append("}");
   }
   else
   {
    sb.append("},");
   }
  }
  sb.append("]");
  return sb.tostring();
 }
 else { return null; }
}

希望本文所述对大家asp.net程序设计有所帮助。