在.NET使用JSON作为数据交换格式实例演示

2019-05-20 10:52:01于丽

JsonConvertDemo();
JsonConvertLinqDemo();
ConsoleReadLine();
}
publicstaticvoid JavaScriptSerializerDemo()
{
User user =new User { UserId =1, UserName ="李刚", CreateDate = DateTimeNowAddYears(-30),Birthday=DateTimeNowAddYears(-50), Priority = PriorityHighest, Salary =500000 };
//JavaScriptSerializer类在SystemWebExtensionsdll中,注意添加这个引用
JavaScriptSerializer serializer =new JavaScriptSerializer();
//JSON序列化
string result=serializerSerialize(user);
ConsoleWriteLine("使用JavaScriptSerializer序列化后的结果:{0},长度:{1}", result, resultLength);
//JSON反序列化
user = serializerDeserialize<User>(result);
ConsoleWriteLine("使用JavaScriptSerializer反序列化后的结果:UserId:{0},UserName:{1},CreateDate:{2},Priority:{3}", userUserId, userUserName, userCreateDate, userPriority);
}
publicstaticvoid DataContractJsonSerializerDemo()
{
User user =new User { UserId =1, UserName ="李刚", CreateDate = DateTimeNowAddYears(-30), Birthday = DateTimeNowAddYears(-50), Priority = PriorityAboveNormal, Salary =50000 };
string result =stringEmpty;
//DataContractJsonSerializer类在SystemServiceModelWebdll中,注意添加这个引用
DataContractJsonSerializer serializer =new DataContractJsonSerializer(typeof(User));
using (MemoryStream stream =new MemoryStream())
{
//JSON序列化
serializerWriteObject(stream, user);
result = EncodingUTFGetString(streamToArray());
ConsoleWriteLine("使用DataContractJsonSerializer序列化后的结果:{0},长度:{1}", result, resultLength);
}
//JSON反序列化
byte[] buffer = EncodingUTFGetBytes(result);
using (MemoryStream stream =new MemoryStream(buffer))
{
user = serializerReadObject(stream) as User;
ConsoleWriteLine("使用DataContractJsonSerializer反序列化后的结果:UserId:{0},UserName:{1},CreateDate:{2},Priority:{3}", userUserId, userUserName, userCreateDate, userPriority);
}
}
publicstaticvoid JsonConvertDemo()
{
User user =new User { UserId =1, UserName ="李刚", CreateDate = DateTimeNowAddYears(-30), Birthday = DateTimeNowAddYears(-50), Priority = PriorityBelowNormal, Salary =5000 };
//JsonConvert类在NewtonsoftJsonNetdll中,注意到http://wwwcodeplexcom/json/下载这个dll并添加这个引用
//JSON序列化
string result = JsonConvertSerializeObject(user);
ConsoleWriteLine("使用JsonConvert序列化后的结果:{0},长度:{1}", result, resultLength);
//JSON反序列化
user = JsonConvertDeserializeObject<User>(result);
ConsoleWriteLine("使用JsonConvert反序列化后的结果:UserId:{0},UserName:{1},CreateDate:{2},Priority:{3}", userUserId, userUserName, userCreateDate, userPriority);
}
publicstaticvoid JsonConvertLinqDemo()
{
User user =new User { UserId =1, UserName ="周公", CreateDate = DateTimeNowAddYears(-8), Birthday = DateTimeNowAddYears(-32), Priority = PriorityLowest, Salary =500, Urls =new List<string> { "http://zhoufoxcnblog51ctocom", "//www.jb51.net" } };