zoukankan      html  css  js  c++  java
  • json datatable

      /// <summary>
            /// 将JSON解析成DataTable,只限DataGrid标准的JSON数据
            /// 例如:Json={\"rows\":[{\"code\":\"001\",\"name\":\"Name 1\"},{\"code\":\"002\",\"name\":\"Name 2\"}]}";
            /// </summary>
            /// <param name="json">Json字符传</param>
            /// <returns>DataTable</returns>
            public static DataTable JsonToDataTable(string Json)
            {
                try
                {
                    DataTable dt = new DataTable();
                    JavaScriptSerializer JSS = new JavaScriptSerializer();
    
                    object obj = JSS.DeserializeObject(Json);
                    Dictionary<string, object> datajson = (Dictionary<string, object>)obj;
    
                    //string total = datajson["total"].ToString();
    
                    object[] rows = (object[])datajson["rows"];
                    foreach (object ob in rows)
                    {
                        Dictionary<string, object> val = (Dictionary<string, object>)ob;
                        DataRow dr = dt.NewRow();
                        foreach (KeyValuePair<string, object> sss in val)
                        {
                            if (!dt.Columns.Contains(sss.Key))
                            {
                                dt.Columns.Add(sss.Key.ToString());
                                dr[sss.Key] = sss.Value;
                            }
                            else
                                dr[sss.Key] = sss.Value;
                        }
                        dt.Rows.Add(dr);
                    }
                    return dt;
                }
                catch
                {
                    return null;
                }
            }
    
    
    
    
    
            /// <summary>
            /// DataTable to json
            /// </summary>
            /// <param name="jsonName">返回json的名称</param>
            /// <param name="dt">转换成json的表</param>
            /// <returns>string</returns>
            public static string DataTableToJson(string jsonName, System.Data.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();
            }
  • 相关阅读:
    mongodb的安装与启动(centos7)
    使用tengine解决负载均衡的session问题
    nginx 负载均衡 使用ip_hash方式解决session问题 测试
    查看linux服务器状态常用命令
    swagger
    使用gtest(googletest)进行c++单元测试
    程序员的字符艺术
    使用gdb调试c++程序
    使用c++开发跨平台的程序
    Orleans之EventSourcing
  • 原文地址:https://www.cnblogs.com/wlwjc/p/2835606.html
Copyright © 2011-2022 走看看