asp.net3.5
要引用:System.ServiceModel.Web, System.Runtime.Serialization,System.Runtime.Serialization.Json;
以我在项目中做系统卡为例(要填充名为LockCardEntity对象,Insert到数据库):1).在JS端
JS Json
var LockCard='{"CardTypeID":"<%=cardtypeid%>","CardNo":"<%=WaterNo%>","WriteContend":"'+WriteContend+'"}';
Htinns.PMS.Web.LockCard.LockCard.AuthenticateSpecialCard(LockCard,success);
Htinns.PMS.Web.LockCard.LockCard.AuthenticateSpecialCard(LockCard,success);
WebService
LockCardBLL bll = new LockCardBLL();
//将JSON字符串转换为 LockCardEntity
LockCardEntity EntityInfo= JsonHelper.ParseFromJson<LockCardEntity>(LockCardInfo.ToString());
//Insert
bll.Add(EntityInfo);
//将JSON字符串转换为 LockCardEntity
LockCardEntity EntityInfo= JsonHelper.ParseFromJson<LockCardEntity>(LockCardInfo.ToString());
//Insert
bll.Add(EntityInfo);
JsonHelper
public static class JsonHelper
{
public static string GetJson<T>(T obj)
{
DataContractJsonSerializer json =
new DataContractJsonSerializer(obj.GetType());
using (MemoryStream stream = new MemoryStream())
{
json.WriteObject(stream, obj);
string szJson = Encoding.UTF8.GetString(stream.ToArray());
return szJson;
}
}
public static T ParseFromJson<T>(string szJson)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms =
new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializer serializer =
new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}
}
{
public static string GetJson<T>(T obj)
{
DataContractJsonSerializer json =
new DataContractJsonSerializer(obj.GetType());
using (MemoryStream stream = new MemoryStream())
{
json.WriteObject(stream, obj);
string szJson = Encoding.UTF8.GetString(stream.ToArray());
return szJson;
}
}
public static T ParseFromJson<T>(string szJson)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms =
new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializer serializer =
new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}
}
使用的时候自己在外面加上异常操作!