添加dll引用(右键项目--添加引用--.net--选择)
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.Runtime.Serialization.dll
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.ServiceModel.Web.dll
using System.IO;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
#region json封装
[Serializable]
public class outerClass
{
public int Status;
public string Message;
//public int Status{get;set;}
//public string Message{get;set;}
//public outerClass(int _status,string _message)
//{
// Status=_status;
// Message = _message;
//}
}
//json序列化
public string ToJsJson(object item)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, item);
StringBuilder sb = new StringBuilder();
sb.Append(Encoding.UTF8.GetString(ms.ToArray()));
return sb.ToString();
}
}
//使用
//List<outerClass> resultList = new List<outerClass>();
//resultList.Add(new outerClass(1, "可以登录飞行网"));
//result = ToJsJson(resultList);
outerClass ou = new outerClass();
ou.Status = 1;
ou.Message = "可以登录飞行网";
result = ToJsJson(ou);
#endregion
#region json解析
[Serializable]
public class outerClass
{
public int Status;
public string Message;
}
wsChangePwd.SetUserInfoService ws = new wsChangePwd.SetUserInfoService(); //webservice
string result=ws.ChangePassword(uid, pwdOld, pwdNew); //{"Status":-2,"Message":"原始用户名或密码错误!"}
DataContractJsonSerializer ser1=new DataContractJsonSerializer(typeof(outerClass));
outerClass message = new outerClass();
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(result)))
{
message = ser1.ReadObject(ms) as outerClass;
}
int Status = message.Status;
if (Status > 0)
{
Page.ClientScript.RegisterStartupScript(GetType(), "消息提示", "<script>alert('" + message.Message + "')</script>");
}
#endregion