zoukankan      html  css  js  c++  java
  • Json Datable Convert

    把一个DataTable转换成JSON

    abstract class JSONConverter
        {
            public JSONConverter()
            { }
    
            static public string GetJSONData(DataTable dtable)
            {
                StringBuilder JsonBuilder = new StringBuilder();
                StringBuilder content = new StringBuilder();
    
                foreach (DataRow dr in dtable.Rows)
                {
                    content.Append("{").Append(GetRowData(dr)).Append("}, ");
                }
    
                if (content.Length > 0)
                {
                    JsonBuilder.Append("{").AppendFormat("\"{0}\": ", dtable.TableName);
    
                    if (content.ToString().Trim().EndsWith(","))
                    {
                        JsonBuilder.AppendFormat("[ {0} ]", content.ToString().Substring(0, content.Length - 2)).Append("}");
                    }
                    else
                    {
                        JsonBuilder.AppendFormat("[ {0} ]", content.ToString()).Append("}");
                    }
                }
                return JsonBuilder.ToString();
            }
    
          static private string GetRowData(DataRow dr)
            {
                string sData = "";
                foreach (DataColumn col in dr.Table.Columns)
                {
                    float val = 0;
                    if ( float.TryParse(dr[col.ColumnName].ToString(), out val))
                    {
                        sData = sData + "\"" + col.ColumnName + "\"" + ":" + val + ",";
                    }
                    else
                    {
                        sData = sData + "\"" + col.ColumnName + "\"" + ":\"" + dr[col.ColumnName] + "\",";
                    }
                }
    
                if (sData.EndsWith(","))
                    sData = sData.Substring(0, sData.Length - 1);
    
                return sData;
            }
    
        }
  • 相关阅读:
    (8)FastDFS
    (7)文件上传
    (6)品牌新增
    数据仓库_MySQL(2)
    数据仓库_Linux(5)&MySQL(1)
    J哥说生产事故之僵尸进程
    J哥说生产事故之CPU爆表
    idea classpath
    (五)返回两个数组之间的差异
    (四)数组扁平化
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2592727.html
Copyright © 2011-2022 走看看