json序列化与反序列化
方法1 :
需要手工添加引用:System.Web.Extensions,使用较方便:
Dictionary<string, string> dict = new Dictionary<string, string>();
dict["s"] = "s1";
dict["t"] = "t1";
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = serializer.Serialize(dict);
dict = serializer.Deserialize<Dictionary<string, string>>(json);
方法2:
不需手工添加,但使用较复杂
Dictionary<string, string> dict = new Dictionary<string, string>();
dict["s"] = "s1";
dict["t"] = "t1";
System.Runtime.Serialization.Json.DataContractJsonSerializer p = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(Dictionary<string, string>));
System.IO.MemoryStream ms = new System.IO.MemoryStream();
p.WriteObject(ms, dict);
string str = System.Text.Encoding.UTF8.GetString(ms.ToArray());
byte[] b = System.Text.Encoding.UTF8.GetBytes(str);
ms = new System.IO.MemoryStream(b);
dict = p.ReadObject(ms) as Dictionary<string, string>;
方法3:
使用开源组件Newtonsoft.Json(下载地址http://json.codeplex.com/)
经测试:Newtonsoft.Json可以序列化DataSet对象,而System.Web.Script.Serialization.JavaScriptSerializer那不行。
另外:json基本也是序列化和反序列化的问题,以下是c#本身的序列化组件
NET框架提供了两种串行化的方式:
1、是使用BinaryFormatter进行串行化;
2、使用SoapFormatter进行串行化;
3、使用XmlSerializer进行串行化。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本