本文实例讲述了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程序设计有所帮助。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。