• 集合生成Json格式


             /// <summary>     
            /// dataTable转换成Json格式     
            /// </summary>     
            /// <param name="dt"></param>     
            /// <returns></returns>     
            public static string ToJson(DataTable dt)
            {
                if (dt != null && dt.Rows.Count > 0)
                {
                    StringBuilder jsonBuilder = new StringBuilder();
                    jsonBuilder.Append("{\"");
                    jsonBuilder.Append("data");
                    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(jsonStringFromat(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();
                }
                else
                {
                    return "";
                }
            }

            /// <summary>
            /// Enumerable转成JSON
            /// </summary>
            /// <param name="list"></param>
            /// <returns></returns>
            public static string EnumerableToJson(IEnumerable list)
            {
                StringBuilder json = new StringBuilder();
                int i = 0;
                if (list != null)
                {
                    json.Append("{\"data\":[");
                    foreach (var item in list)
                    {
                        json.Append("{");
                        PropertyInfo[] pi = item.GetType().GetProperties();
                        int j = 0;
                        foreach (var p in pi)
                        {
                            if (j < pi.Length - 1)
                            {
                                json.Append("\"" + p.Name.ToString() + "\":\"" + jsonStringFromat(p.GetValue(item, null).ToString()) + "\",");
                            }
                            else
                            {
                                json.Append("\"" + p.Name.ToString() + "\":\"" + jsonStringFromat(p.GetValue(item, null).ToString()) + "\"");
                            }
                            j++;
                        }
                        i++;
                        json.Append("},");
                    }
                    json.Remove(json.Length - 1, 1);
                    json.Append("]}");
                }
                if (i != 0)
                    return json.ToString();
                else
                    return "";
            }

  • 相关阅读:
    进入新的一线开发周期
    某框架的反人类特性
    8月最后一天随想
    jython 2.7 b3发布
    [转] 基于 Apache Mahout 构建社会化推荐引擎
    FreeBSD10上编译尝试DeepIn UI
    PDT已有很大改进
    两张图
    FreeBSD暂时用9.X系列为宜
    backbone教程
  • 原文地址:https://www.cnblogs.com/ajun/p/2913923.html
Copyright © 2020-2023  润新知