zoukankan      html  css  js  c++  java
  • DataTable转换成JSON字符串的函数

    public static string DataTableToJSON(DataTable table)
            {
                StringBuilder json = new StringBuilder();
                json.Append("[");
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    DataRow row = table.Rows[i];

                    // json object
                    json.Append("{");
                    for (int j = 0; j < table.Columns.Count; j++)
                    {
                        string columnName = table.Columns[j].ColumnName;
                        string columnType = table.Columns[j].DataType.Name;

                        // json field
                        if (columnType == "Int32" || columnType == "Int16" || columnType == "Decimal")
                        {
                            // don't surround numbers with quotes
                            json.AppendFormat("\"{0}\":\"{1}\"", columnName, row.IsNull(columnName) ? "" : row[columnName]);
                        }
                        else if (columnType == "Boolean")
                        {
                            // make the bool value lowercase
                            json.AppendFormat("\"{0}\":{1}", columnName, row.IsNull(columnName) ? "" : row[columnName].ToString().ToLower());
                        }
                        else
                        {
                            // everything else gets quotes around the data
                            json.AppendFormat("\"{0}\":\"{1}\"", columnName, row[columnName]);
                        }

                        if (j < table.Columns.Count - 1) json.Append(","); // add comma if not last column
                    }
                    json.Append("}");

                    if (i < table.Rows.Count - 1) json.Append(","); // add comma if not last row
                }
                json.Append("]");
                return json.ToString();
            }

  • 相关阅读:
    php redis 的使用方法
    各文件系统对单个文件大小的限制
    MySQL优化之COUNT(*)效率
    理解数据库设计范式【转】
    Mysql re-set password, mysql set encode utf8 mysql重置密码,mysql设置存储编码格式
    MBR,boot loader, partition table, backup, recovery, clean 硬盘引导记录,分区表备份,恢复,清空
    LAMP on ubuntu12.04 PHP, Apache2, MySQL, Linux ( with phpmyadmin installed)
    python alembic which comes from SQLalchemy
    Arduino live weather broadcasting 实时天气站
    python schedule processor
  • 原文地址:https://www.cnblogs.com/cztom/p/1282448.html
Copyright © 2011-2022 走看看