asp.net 编写的 JSONHelper 类
2010-11-16 10:21
344 查看
public class JSONHelper { //对应JSON的singleInfo成员 public string singleInfo = string.Empty; protected string _error = string.Empty; protected bool _success = true; protected long _totalCount = 0; protected System.Collections.ArrayList arrData = new ArrayList(); protected System.Collections.ArrayList arrDataItem = new ArrayList(); public JSONHelper() { // //TODO: 在此处添加构造函数逻辑 // } //对应于JSON的success成员 public bool success { get { return _success; } set { //如设置为true则清空error if (success) _error = string.Empty; _success = value; } } //对应于JSON的error成员 public string error { get { return _error; } set { //如设置error,则自动设置success为false if (value != "") _success = false; _error = value; } } public long totlalCount { get { return _totalCount; } set { _totalCount = value; } } //重置,每次新生成一个json对象时必须执行该方法 public void Reset() { _success = true; _error = string.Empty; singleInfo = string.Empty; arrData.Clear(); arrDataItem.Clear(); } public void AddItem(string name, string value) { arrData.Add("/"" + name + "/":" + "/"" + value + "/""); } public void ItemOk() { arrData.Add("<BR>"); //返回总记录条数 totlalCount++; } //序列化JSON对象,得到返回的JSON代码 public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("/"totalCount/":/"" + _totalCount.ToString() + "/","); sb.Append("/"success/":" + _success.ToString().ToLower() + ","); sb.Append("/"error/":/"" + _error.Replace("/"", "///"") + "/","); sb.Append("/"data/":["); int index = 0; sb.Append("{"); if (arrData.Count <= 0) { sb.Append("}"); } else { foreach (string val in arrData) { index++; if (val != "<BR>") { sb.Append(val + ","); } else { sb = sb.Replace(",", "", sb.Length - 1, 1); sb.Append("},"); if (index < arrData.Count) { sb.Append("{"); } } } sb = sb.Replace(",", "", sb.Length - 1, 1); sb.Append("]"); } sb.Append("}"); return sb.ToString(); } public string ToSingleString() { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("success:" + _success.ToString().ToLower() + ","); sb.Append("data:"); int index = 0; sb.Append("{"); if (arrData.Count <= 0) { sb.Append("}"); } else { foreach (string val in arrData) { index++; if (val != "<BR>") { sb.Append(val + ","); } else { sb = sb.Replace(",", "", sb.Length - 1, 1); sb.Append("},"); if (index < arrData.Count) { sb.Append("{"); } } } sb = sb.Replace(",", "", sb.Length - 1, 1); sb.Append(""); } sb.Append("}"); return sb.ToString(); } }
调用方法:
JSONHelper json = new JSONHelper(); json.success = true; json.AddItem("aid", "1"); json.ItemOk(); json.totlalCount=10; string jsons = ""; if (json.totlalCount > 0) { jsons = json.ToString(); } else { jsons = @"{success:false}"; } return jsons;
相关文章推荐
- asp.net的JSONHelper 类
- asp.net(c#)快速生成Json格式的数据(JsonHelper)
- ASP.NET中实现JSON和对象及集合之间互转,附JsonHelper辅助操作类
- ASP.NET:JSONHelper:json扩展类
- asp.net JSONHelper JSON帮助类
- asp.net JSONHelper JSON帮助类
- ASP.NET之JSONHelper操作
- ASP.NET之JSONHelper操作
- ASP.NET之JSONHelper操作
- JSonHelper.cs 用于ExtJS序列化对象 json.asp的Asp.Net版
- asp.net(c#)快速生成Json格式的数据(JsonHelper)
- 艾伟:ASP.NET MVC,深入浅出IModelBinder,在Post方式下慎用HtmlHelper
- asp.net 前台写JSON
- ASP.NET 跨域获取JSON天气数据
- ASP.NET&AJAX&JSON - 动态读取数据
- 如何使用jQuery向asp.net Mvc传递复杂json数据
- C# ASP.NET MVC HtmlHelper用法大全
- ASP.NET中JSON的序列化和反序列化
- ASP.NET MVC HtmlHelper用法大全