asp.net 返回表单json数据 辅助类
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
/// <summary>
/// JSONHelper 的摘要说明
/// </summary>
public class FormJSONHelper
{
//对应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 FormJSONHelper()
{
}
//对应于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("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();
}
}
============ 调用 ============
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Data_FlawMould_FolderTreeEdit_CheckFolder : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//文件夹名称
string folderName = Request.Form["folderName"];
flawMould.BLL.T_FolderTree fBll = new flawMould.BLL.T_FolderTree();
flawMould.Model.T_FolderTree fModel = fModel = fBll.GetModelList("id='" + id + "'")[0];
FormJSONHelper json = new FormJSONHelper();
json.success = true;
json.AddItem("folderName", fModel.name);
json.ItemOk();
Response.Write(json.ToString());
}
}