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();
            }

  • 相关阅读:
    python之Selenium
    Python常用集锦(upgrading...)
    豆瓣爬虫
    poj 2299 Ultra-QuickSort(求逆序对)
    nyoj117 求逆序数
    codeforces 644A Parliament of Berland
    codeforces 659A Round House
    poj 3264 Balanced Lineup(RMQ裸题)
    nyoj 119 士兵杀敌(三)(RMQ)
    hdu 5655 CA Loves Stick
  • 原文地址:https://www.cnblogs.com/cztom/p/1282448.html
Copyright © 2011-2022 走看看