温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:酒店管理系统(ExtJs)源码
当前文件:
MyHotelManager/HotelBLL/JSONHelper.cs,打开代码结构图
MyHotelManager/HotelBLL/JSONHelper.cs,打开代码结构图1using System; 2
using System.Collections; 3
using System.Collections.Generic; 4
using System.Text; 5
using System.Web.Script.Serialization; 6
7
/// <summary> 8
/// JSONHelper 的摘要说明 9
/// </summary> 10
public class JSONHelper 11
{ 12
//对应JSON的singleInfo成员 13
public string singleInfo = string.Empty; 14
15
protected string _error = string.Empty; 16
protected bool _success = true; 17
protected long _totalCount = 0; 18
protected System.Collections.ArrayList arrData = new ArrayList(); 19
protected System.Collections.ArrayList arrDataItem = new ArrayList(); 20
21
22
public JSONHelper() 23
{ 24
25
} 26
27
public static string ToJSON(object obj) 28
{ 29
JavaScriptSerializer serializer = new JavaScriptSerializer(); 30
return serializer.Serialize(obj); 31
} 32
33
public static string ToJSON(object obj, int recursionDepth) 34
{ 35
JavaScriptSerializer serializer = new JavaScriptSerializer(); 36
serializer.RecursionLimit = recursionDepth; 37
return serializer.Serialize(obj); 38
} 39
40
//对应于JSON的success成员 41
public bool success 42
{ 43
get 44
{ 45
return _success; 46
} 47
set 48
{ 49
//如设置为true则清空error 50
if (success) _error = string.Empty; 51
_success = value; 52
} 53
} 54
55
//对应于JSON的error成员 56
public string error 57
{ 58
get 59
{ 60
return _error; 61
} 62
set 63
{ 64
//如设置error,则自动设置success为false 65
if (value != "") _success = false; 66
_error = value; 67
} 68
} 69
70
public long totlalCount 71
{ 72
get { return _totalCount; } 73
set { _totalCount = value; } 74
} 75
76
77
//重置,每次新生成一个json对象时必须执行该方法 78
public void Reset() 79
{ 80
_success = true; 81
_error = string.Empty; 82
singleInfo = string.Empty; 83
arrData.Clear(); 84
arrDataItem.Clear(); 85
} 86
87
88
89
public void AddItem(string name, string value) 90
{ 91
arrData.Add("\"" + name + "\":" + "\"" + value + "\""); 92
} 93
94
95
96
public void ItemOk() 97
{ 98
arrData.Add("<BR>"); 99
} 100
101
//序列化JSON对象,得到返回的JSON代码 102
public override string ToString() 103
{ 104
StringBuilder sb = new StringBuilder(); 105
sb.Append("{"); 106
sb.Append("totalCount:" + totlalCount.ToString() + ","); 107
sb.Append("success:" + _success.ToString().ToLower() + ","); 108
sb.Append("error:\"" + _error.Replace("\"", "\\\"") + "\","); 109
sb.Append("singleInfo:\"" + singleInfo.Replace("\"", "\\\"") + "\","); 110
sb.Append("data:["); 111
112
int index = 0; 113
sb.Append("{"); 114
if (arrData.Count <= 0) 115
{ 116
sb.Append("}]"); 117
} 118
else 119
{ 120
foreach (string val in arrData) 121
{ 122
index++; 123
124
if (val != "<BR>") 125
{ 126
sb.Append(val + ","); 127
} 128
else 129
{ 130
sb = sb.Replace(",", "", sb.Length - 1, 1); 131
sb.Append("},"); 132
if (index < arrData.Count) 133
{ 134
sb.Append("{"); 135
} 136
} 137
138
} 139
sb = sb.Replace(",", "", sb.Length - 1, 1); 140
sb.Append("]"); 141
} 142
143
sb.Append("}"); 144
return sb.ToString(); 145
} 146
} 147







}