Json序列化和反序列化基于接口的集合数组
安装Nuget包:
Install-Package Newtonsoft.Json
主要是要加上下面的设置:
JsonSerializerSettings settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All };
示例代码:
private void SaveConvertItems() { JsonSerializerSettings settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }; var json = JsonConvert.SerializeObject(ConvertItems, Formatting.Indented, settings); File.WriteAllText(ConvertItemsPath, json); } private IConvertInfo[] LoadConvertItems() { if (File.Exists(ConvertItemsPath)) { var json = File.ReadAllText(ConvertItemsPath); JsonSerializerSettings settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }; var items = JsonConvert.DeserializeObject<IConvertInfo[]>(json, settings); items.ForEach(s => ConvertController.Instance.UpdateConvertInfo(s)); return items; } return null; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2017-01-18 【转】在C#中简单的科学计算,包括幂数,指数,对数,Math类
2017-01-18 【转】跟面试官聊.NET垃圾收集,直刺面试官G点
2017-01-18 注册表实现开机启动
2017-01-18 遍历所有的XML
2017-01-18 动态加载XAML
2017-01-18 C#有哪几种定时器
2017-01-18 以管理员权限启动应用