//对象序列化类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel.Web;
using System.ServiceModel;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
namespace OA
{
public class AspNethelper
{
#region 对象序列化
public string JsonSerializer<T>(T t)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, t);
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return jsonString;
}
#endregion
}
}
//asp.net 页面调用
ArrayList Result =null;
string jsonString = string.Empty;
string SortID = string.Empty;
int Ajax = 0;
Ajax =int.Parse(Request.QueryString["Ajax"].ToString());
if (Ajax == 0)
{
int ClientID=int.Parse(Request["ClientID"].ToString());
Result =new ArrayList(ClientInformation(ClientID));
jsonString = MyAspNethelper.JsonSerializer<ArrayList>(Result);
}
//ajax.js
function CreateObject() {
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (otherbrowser) {
try {
xmlhttp = new XMLHttpRequest();
} catch (failed) {
xmlhttp = false;
}
}
}
return xmlhttp
}
function GetAjaxResult(url) {
var xmlhttp = CreateObject();
xmlhttp.open("get", url, false);
xmlhttp.send();
var txt;
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
txt = unescape(xmlhttp.responseText);
}
}
return txt;
}
//js 页面调用
var Url = "?Ajax=0&ClientID=" + ClientID + "";
var Value = GetAjaxResult(Url);
var Arr = eval(Value);
学习Asp.net josn序列化与反序列化,请点击http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html