您的位置:首页 > 编程语言 > ASP

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