public class JSONHelper<br />{<br /> //對應JSON的singleInfo成員<br /> public string singleInfo = string.Empty;</p><p> protected string _error = string.Empty;<br /> protected bool _success = true;<br /> protected long _totalCount = 0;<br /> protected System.Collections.ArrayList arrData = new ArrayList();<br /> protected System.Collections.ArrayList arrDataItem = new ArrayList();</p><p>public JSONHelper()<br />{<br />//<br />//TODO: 在此處添加建構函式邏輯<br />//<br />}</p><p> //對應於JSON的success成員<br /> public bool success<br /> {<br /> get<br /> {<br /> return _success;<br /> }<br /> set<br /> {<br /> //如設定為true則清空error<br /> if (success) _error = string.Empty;<br /> _success = value;<br /> }<br /> }</p><p> //對應於JSON的error成員<br /> public string error<br /> {<br /> get<br /> {<br /> return _error;<br /> }<br /> set<br /> {<br /> //如設定error,則自動化佈建success為false<br /> if (value != "") _success = false;<br /> _error = value;<br /> }<br /> }</p><p> public long totlalCount<br /> {<br /> get { return _totalCount; }<br /> set { _totalCount = value; }<br /> }</p><p> //重設,每次新產生一個json對象時必須執行該方法<br /> public void Reset()<br /> {<br /> _success = true;<br /> _error = string.Empty;<br /> singleInfo = string.Empty;<br /> arrData.Clear();<br /> arrDataItem.Clear();<br /> }</p><p> public void AddItem(string name, string value)<br /> {<br /> arrData.Add("/"" + name + "/":" + "/"" + value + "/"");<br /> }</p><p> public void ItemOk()<br /> {<br /> arrData.Add("<BR>");<br /> //返回總記錄條數<br /> totlalCount++;<br /> }</p><p> //序列化JSON對象,得到返回的JSON代碼<br /> public override string ToString()<br /> {<br /> StringBuilder sb = new StringBuilder();<br /> sb.Append("{");<br /> sb.Append("/"totalCount/":/"" + _totalCount.ToString() + "/",");<br /> sb.Append("/"success/":" + _success.ToString().ToLower() + ",");<br /> sb.Append("/"error/":/"" + _error.Replace("/"", "///"") + "/",");<br /> sb.Append("/"data/":[");</p><p> int index = 0;<br /> sb.Append("{");<br /> if (arrData.Count <= 0)<br /> {<br /> sb.Append("}");<br /> }<br /> else<br /> {<br /> foreach (string val in arrData)<br /> {<br /> index++;</p><p> if (val != "<BR>")<br /> {<br /> sb.Append(val + ",");<br /> }<br /> else<br /> {<br /> sb = sb.Replace(",", "", sb.Length - 1, 1);<br /> sb.Append("},");<br /> if (index < arrData.Count)<br /> {<br /> sb.Append("{");<br /> }<br /> }</p><p> }<br /> sb = sb.Replace(",", "", sb.Length - 1, 1);<br /> sb.Append("]");<br /> }</p><p> sb.Append("}");<br /> return sb.ToString();<br /> }</p><p> public string ToSingleString()<br /> {<br /> StringBuilder sb = new StringBuilder();<br /> sb.Append("{");</p><p> sb.Append("success:" + _success.ToString().ToLower() + ",");</p><p> sb.Append("data:");</p><p> int index = 0;<br /> sb.Append("{");<br /> if (arrData.Count <= 0)<br /> {<br /> sb.Append("}");<br /> }<br /> else<br /> {<br /> foreach (string val in arrData)<br /> {<br /> index++;</p><p> if (val != "<BR>")<br /> {<br /> sb.Append(val + ",");<br /> }<br /> else<br /> {<br /> sb = sb.Replace(",", "", sb.Length - 1, 1);<br /> sb.Append("},");<br /> if (index < arrData.Count)<br /> {<br /> sb.Append("{");<br /> }<br /> }</p><p> }<br /> sb = sb.Replace(",", "", sb.Length - 1, 1);<br /> sb.Append("");<br /> }</p><p> sb.Append("}");<br /> return sb.ToString();<br /> }<br />}
調用方法:
JSONHelper json = new JSONHelper();</p><p>json.success = true;</p><p>json.AddItem("aid", "1");</p><p>json.ItemOk();</p><p>json.totlalCount=10;</p><p>string jsons = "";<br />if (json.totlalCount > 0)<br />{<br /> jsons = json.ToString();<br />}<br />else<br />{<br /> jsons = @"{success:false}";<br />}<br />return jsons;