Code
1 /// <summary>
2 // JSON data help class
3 /// </Summary>
4 public class jsonutil
5 {
6 # region getjson
7 /// <summary>
8 // obtain JSON data
9 /// </Summary>
10 /// <Param name = "data"> data </param>
11 /// <returns> string JSON </returns>
12 public static string getjson (Object Data)
13 {
14 stringbuilder sb = new stringbuilder ();
15 propertyinfo [] propertys = data. GetType (). getproperties ();
16 if (data. GetType (). isgenerictype)
17 {
18 sb. append ("[");
19 IList list = data as IList;
20 for (int I = 0; I <list. Count; I ++)
21 {
22 sb. Append (GetJSON (list [I]);
23 if (I <list. Count-1)
24 {
25 sb. Append (",");
26}
27}
28 sb. Append ("]");
29}
30 else
31 {
32 sb. Append ("{");
33 sb. Append ("\"");
34 sb. Append (data. GetType (). Name );
35 sb. Append ("\"");
36 sb. Append (":");
37 sb. Append ("{");
38 int count = propertys. Length;
39 for (int I = 0; I <count; I ++)
40 {
41 sb. Append ("\"");
42 sb. Append (propertys [I]. Name );
43 sb. Append ("\"");
44 sb. Append (":");
45 switch (propertys [I]. PropertyType. Name)
46 {
47 case "Int ":
48 case "Double ":
49 case "Decimal ":
50 case "float ":
51 case "long ":
52 sb. Append (propertys [I]. GetValue (data, null ));
53 break;
54 default:
55 sb. Append ("\"");
56 sb. Append (propertys [I]. GetValue (data, null ));
57 sb. Append ("\"");
58 break;
59}
60 if (I <count-1)
61 {
62 sb. Append (",");
63}
64}
65 sb. Append ("}");
66 sb. Append ("}");
67}
68 return sb. ToString ();
69}
70 # endregion
71}
This is my personal summary. Could you please advise the expert.
This class only processes some simple data and List sets. It still needs to be improved.