json 是轻量级的文本传输格式,一般用于前台和后台的数据交换
DataContractJsonSerializer是fm3.5中专门对json序列化和反序列化的类,以下是DataContractJsonSerializer的简单应用
假设客户端有个json对象,通过ajax传到后台,后台解析
代码如下:
toJSONString函数正常运行得引用json.js
<script src="json.js" type="text/javascript"></script>
后台代码:
新建测试类 testobj (testobj中的属性和客户端传递过来的一致)
public TestObj(string u,string p,string s)
{
UserName = u;
PassWord = p;
Sex = s;
}
}
新建序列化和反序列化方法
public static 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();
}
}
//反序列化
public static T FromJsonTo<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
T jsonObject = (T)ser.ReadObject(ms);
return jsonObject;
}
}
调用:
反序列化json(解析)注:people即客户端传递过来
序列化成json字符串
前台获取后台返回的json字符串: