您的位置:首页 > Web前端 > JavaScript

C# List<T>转为Json数据

2016-10-24 16:22 351 查看
创建ListsConvertToJson类;//添加System.Reflection.dll



1 public class ListsConvertToJson
2     {
3         public  string ConvertJson(List<object> lists)
4         {
5             return ConvertJson(lists, string.Empty);
6         }
7         public  string ConvertJson(List<object> lists, string entityName)
8         {
9             try
10             {
11                 string result =string.Empty;
12                 //当传进来的entityName=Emtpty的时候,随机获取lists[index]项的类型
13                 if (entityName.Equals(string.Empty))
14                 {
15                     object obj = lists[0];
16                     entityName = obj.GetType().ToString();
17                 }
18                 result = "{\"" + entityName + "\":[" ;
19                 bool flag = true;
20                 foreach (var item in lists)
21                 {
22                     if (!flag)
23                     {
24                         result = result+"," + ListIndexConvertToJson(item);
25                     }
26                     else
27                     {
28                         result = result + ListIndexConvertToJson(item) + "";
29                         flag = false;
30                     }
31                 }
32                 result =result+ "]}";
33                 return result;
34
35             }
36             catch (Exception ex)
37             {
38                 throw new ApplicationException(ex.Message);
39             }
40         }
41
42         private string ListIndexConvertToJson(object item)
43         {
44             try
45             {
46                 string result = "{";
47                 List<string> str_lists = new List<string>();
48                 str_lists = GetAllListValue(item);
49                 foreach (var str in str_lists)
50                 {
51                     if (result.Equals("{")) {
52                         result = result + str;
53                     }
54                     else
55                     {
56                         result = result + "," + str;
57                     }
58                 }
59                 return result + "}";
60             }
61             catch (Exception ex)
62             {
63                 throw new ApplicationException(ex.Message);
64             }
65         }
66         //反射object的所有属性值
67         private List<string> GetAllListValue(object item)
68         {
69             try
70             {
71                 List<string> lists = new List<string>();
72                 PropertyInfo[] parms = item.GetType().GetProperties();
73                 foreach (var p in parms)
74                 {
75                     lists.Add("\""+p.Name.ToString()+"\":\""+p.GetValue(item,null)+"\"");
76                 }
77                 return lists;
78             }
79             catch (Exception ex)
80             {
81                 throw new ApplicationException(ex.Message);
82             }
83         }
84
85     }


从数据苦衷获取List<T>数据,调用ConvertJson方法



1  public string downLoadData(string Department, string BelongedTo)
2         {
3             try
4             {
5                 string where = " WHERE BelongedTo = '" + BelongedTo + "'";
6                 //浦口综合科看全站的信息
7                 if (BelongedTo == "AJ320111-1" && Department == "综合科")
8                 {
9                     where = " WHERE BelongedTo = '" + BelongedTo + "'";
10                 }
11                 else if (Department != "站领导" && Department != "局长")
12                 {
13                     where = where + " AND BelongsDepartments = '" + Department + "'";
14                 }
15                 string cmdText = string.Format("select * from View_ProjectOverview" + where);
16                 DataTable table = SQLServer.ExecuteTable(cmdText);
17
18
19                 List<object> Entity_coll = new List<object>();
20                 List<projectover> entity_coll = new List<projectover>();
21                 if (table != null)
22                 {
23                     foreach (DataRow row in table.Rows)
24                     {
25                         NewProjectOverview Entity = new NewProjectOverview();
26                         projectover entity = new projectover(row);
27                         if (entity.isLoaded)
28                         {
29                             Entity.isLoaded = entity.isLoaded;
30                             Entity.RecordNumber = entity.RecordNumber;
31                             Entity.ProjectName = entity.ProjectName;
32                             Entity.ProjectAddress = entity.ProjectAddress;
33                             Entity.LongitudeCoordinate = entity.LongitudeCoordinate;
34                             Entity.LatitudeCoordinate = entity.LatitudeCoordinate;
35                             Entity.ProjectCategory = entity.ProjectCategory;
36                             Entity.ProjectArea = entity.ProjectArea;
37                             Entity.ProjectAcreage = entity.ProjectAcreage;
38                             Entity.ProjectPrice = entity.ProjectPrice;
39                             Entity.ProjectHierarchy = entity.ProjectHierarchy;
40                             Entity.BelongsDepartments = entity.BelongsDepartments;
41                             Entity.dangerFlag = row["dangerFlag"].ToString();
42                             Entity.LastEditTime = row["InspectDateTime"].ToString();
43                             Entity.SGDW = entity.SGDW;
44                             Entity.RemarkContents = "";
45                             Entity_coll.Add(Entity);
46                         }
47                     }
48                 }
49
50                 ListsConvertToJson t = new ListsConvertToJson();
51                 string json = t.ConvertJson(Entity_coll, "NewProjectOverview");
52                 return json;
53
54             }
55             catch (Exception ex)
56             {
57                 throw new  ApplicationException(ex.Message);
58             }
59         }


 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: