zoukankan      html  css  js  c++  java
  • 将DATAtable转换成 json格式

    public class DataTableConvertJson

        {

            #region dataTable转换成Json格式

            /// <summary>  

            /// dataTable转换成Json格式  

            /// </summary>  

            /// <param name="dt"></param>  

            /// <returns></returns>  

            public static string DataTable2Json(DataTable dt)

            {

                StringBuilder jsonBuilder = new StringBuilder();

                jsonBuilder.Append("{"");

                jsonBuilder.Append(dt.TableName);

                jsonBuilder.Append("":[");

                jsonBuilder.Append("[");

                for (int i = 0; i < dt.Rows.Count; i++)

                {

                    jsonBuilder.Append("{");

                    for (int j = 0; j < dt.Columns.Count; j++)

                    {

                        jsonBuilder.Append(""");

                        jsonBuilder.Append(dt.Columns[j].ColumnName);

                        jsonBuilder.Append("":"");

                        jsonBuilder.Append(dt.Rows[i][j].ToString());

                        jsonBuilder.Append("",");

                    }

                    jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

                    jsonBuilder.Append("},");

                }

                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

                jsonBuilder.Append("]");

                jsonBuilder.Append("}");

                return jsonBuilder.ToString();

            }

            #endregion dataTable转换成Json格式

            #region DataSet转换成Json格式

            /// <summary>  

            /// DataSet转换成Json格式  

            /// </summary>  

            /// <param name="ds">DataSet</param> 

            /// <returns></returns>  

            public static string Dataset2Json(DataSet ds)

            {

                StringBuilder json = new StringBuilder();

                foreach (DataTable dt in ds.Tables)

                {

                    json.Append("{"");

                    json.Append(dt.TableName);

                    json.Append("":");

                    json.Append(DataTable2Json(dt));

                    json.Append("}");

                } return json.ToString();

            }

            #endregion

            /// <summary>

            /// Msdn

            /// </summary>

            /// <param name="jsonName"></param>

            /// <param name="dt"></param>

            /// <returns></returns>

            public static string DataTableToJson(string jsonName, DataTable dt)

            {

                StringBuilder Json = new StringBuilder();

                Json.Append("{"" + jsonName + "":[");

                if (dt.Rows.Count > 0)

                {

                    for (int i = 0; i < dt.Rows.Count; i++)

                    {

                        Json.Append("{");

                        for (int j = 0; j < dt.Columns.Count; j++)

                        {

                            Json.Append(""" + dt.Columns[j].ColumnName.ToString() + "":"" + dt.Rows[i][j].ToString() + """);

                            if (j < dt.Columns.Count - 1)

                            {

                                Json.Append(",");

                            }

                        }

                        Json.Append("}");

                        if (i < dt.Rows.Count - 1)

                        {

                            Json.Append(",");

                        }

                    }

                }

                Json.Append("]}");

                return Json.ToString();

            }

            /// <summary>

            /// IList转换JOSN

            /// </summary>

            /// <param name="jsonName"></param>

            /// <param name="dt"></param>

            /// <returns></returns>

                    public static string ObjectToJson<T>(string jsonName, IList<T> IL)
                    {
                        StringBuilder Json = new StringBuilder();
                        Json.Append("{"" + jsonName + "":[");
                        if (IL.Count > 0)
                        {
                            for (int i = 0; i < IL.Count; i++)
                            {
                                T obj = Activator.CreateInstance<T>();
                                Type type = obj.GetType();
                                PropertyInfo[] pis = type.GetProperties();
                                Json.Append("{");
                                for (int j = 0; j < pis.Length; j++)
                                {
                                    Json.Append(""" + pis[j].Name.ToString() + "":"" + pis[j].GetValue(IL[i], null) + """);
                                    if (j < pis.Length - 1)
                                    {
                                        Json.Append(",");
                                    }
                                }
                                Json.Append("}");
                                if (i < IL.Count - 1)
                                {
                                    Json.Append(",");
                                }
                            }
                        }
                        Json.Append("]}");
                        return Json.ToString();
                    }

        }

  • 相关阅读:
    一个Winform下DataGridView控件外观的自定义类
    从以往子类化跟踪MouseLeave深入讨论VB6的自定义Hook类
    使用VB6写一个自定义的进度信息框窗口
    C#研究OpenXML之路(4-使用第三方库)
    Access SQL实现连续及不连续Rank排名
    C#研究OpenXML之路(3-OpenXMLSDKToolV25.msi)
    C#研究OpenXML之路(2-DocumentFormat.OpenXml命名空间)
    C#研究OpenXML之路(1-新建工作簿文件)
    统一我的博客文章的CSS样式代码
    C#图片灰度处理(位深度24→位深度8)
  • 原文地址:https://www.cnblogs.com/ImNo1/p/4619109.html
Copyright © 2011-2022 走看看