zoukankan      html  css  js  c++  java
  • DataTableToJson与ObjectToJson<T>

    public static string DataTableToJson(string jsonName, System.Data.DataTable dt)
            {
                System.Text.StringBuilder Json = new System.Text.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();
            }
            public static string ObjectToJson<T>(string jsonName, IList<T> IL)
            {
                System.Text.StringBuilder Json = new System.Text.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();
                        System.Reflection.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();
            }

    作者:达奇
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    shell下如何删除文件的某一列
    git如何列出最简短的commit(tag和head名都不显示)
    git如何列出每次提交对应有哪些文件被修改
    linux下如何使用命令行配置网络
    64bit ubuntu如何使能安装32bit软件
    linux下如何查看当前机器提供了哪些服务
    vi如何修改注释颜色
    uboot启动提示Error, wrong i2c adapter 0 max 0 possible后卡住了怎么办
    linux 如何改变文件属性与权限1
    Linux文件系统只读Read-only file system的解决方法
  • 原文地址:https://www.cnblogs.com/dachie/p/1825698.html
Copyright © 2011-2022 走看看