.NET修仙传
修炼秘籍
.net 修炼路线图
书籍大全
C#入门后该如何进阶?如何提升自己?
读写 Excel 四种方案
书籍大全
dotnet命令大全
C# 程序集加载方法
linux 下部署.net环境
.NET WebAPI中FromRoute、FromQuery、FromBody的关键角色与用法
C# 新用法
盘点C#最有价值的10个语法糖
C#基础语法与数据类型
序列化
C# 7.0
模式匹配Pattern Matching
优秀实用的类库推荐
2024年C#优秀实用的类库推荐
依赖注入与中间件
依赖注入
查询所有已注入的服务
WebApi实现批量注入
原生依赖注入
自动依赖注入框架
优秀中间件
依赖注入
Autofac
生命周期
文档操作
PDF操作
PDF合并及生成书签目录
Excel操作
几个Excel文件合并去重分类
Excel文件之COM组件方式
操作Excel文件之NPOI
INI文件
面试宝典
WebService、WCF、WebAPI、一般处理程序
C# 线程和进程的区别
asp.net core 服务生命周期
asp.net core 的中间件都有哪些
操作系统编程
获取搜狗输入法中英文
com组件集成
执行系统命令
通过句柄嵌入exe窗体程序
windows-开机自启动
程序调用cmd命令生成WCF服务的客户端调用文件
获取电脑信息
键盘记录器
键盘改键功能
监听鼠标操作
框架揭秘
01编程初体验
中间件 Middleware
路由
配置管理
配置系统
配置管理
日志管理
Log4Net
NLog
.net core原始日志记录
日志管理
Serilog
LINQ
LINQ概讲
LINQ编程
常用方法
ORM
EF Core初始化
EF Core的实体类配置
执行原生SQL语句
EF Core
操作sqlite
操作Mysql数据库
操作LiteDB
AutoMapper高效实现对象映射
AutoMapper
AutoMapper 10个常用方法总结
缓存
Redis支持哪几种数据类型?
什么是Redis?简述它的优缺点?
Redis相比memcached有哪些优势?
认证
什么是 JWT?它是如何工作的?
.net framework jwt
.net core Jwt操作
认证管理
.Net WebApi校验Token/参数的几种方式
鉴权授权
Authorization的几种方式
基础语法
集合
1、C#中常用集合类型
yield return 简化迭代并提高代码质量
AOP
.net core AOP
操作筛选器
网络编程
TCP 连接的前世今生
HttpRequest,WebRequest,HttpWebRequest,WebClient,HttpClient 之间的区别
网络编程
WebApi获取客户信息
通信
HTTP通信
公共类-HttpHelper
多线程编程
十种线程方式分析
Task-筑基期
parallel-筑基
消息队列
Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?
构建高性能 API 的高级技术
优秀教程网站
每日学习地址
全套教程汇总
理解ASP.NET Core
定时任务
定时器的三种使用方式
定时任务之windows任务计划程序
创建任务到Windows任务计划程序
定时任务之Quartz.Net
IHostedService启动时运行定时任务
JSON序列化反序列化工具
前辈
发布部署
应用部署
GRPC
使用GRPC多个proto文件
本文档使用 MrDoc 发布
-
+
首页
JSON序列化反序列化工具
```mindmap # JSON ## Newtonsoft.Json (Json.NET) ## System.Text.Json ## MessagePack ## Utf8Json ## Jil ## ServiceStack.Text ## fastJSON ## System.Runtime.Serialization.Json ``` 在.NET开发中,.NET的JSON序列化反序列化工具除了Newtonsoft.Json和System.Text.Json其实还有很多优秀的开源的序列化和反序列化工具,这些工具有的性能更加优秀,更加轻量等特征。本文将汇总介绍这些.NET中常用的JSON序列化和反序列化工具,供大家选择参考使用。 >i 1、Newtonsoft.Json (Json.NET) Newtonsoft.Json是.NET生态系统中最流行和广泛使用的JSON序列化和反序列化工具。它具有丰富的功能和灵活的API,支持自定义序列化和反序列化过程。它的性能表现良好,具有广泛的社区支持。是老牌序列化工具, 支持.NET Framework 3.5以上版本。 优点:流行、成熟的库,具有丰富的功能和灵活的API;支持自定义序列化和反序列化过程;具有良好的性能和广泛的社区支持。 缺点:相对较大的依赖包;在某些场景下,性能可能低于一些最新的库。 文档地址:newtonsoft.com/json/help/html/ 推荐指数:★★★★★ >i 2、System.Text.Json System.Text.Json是.NET Core3.1之后官方提供的JSON序列化和反序列化库。它与.NET Core集成紧密,具有较低的内存占用和较好的性能。它支持异步操作,并且是.NET Core开发的首选选择之一。 优点:官方提供的库,与.NET Core集成紧密;具有较低的内存占用和较好的性能;支持异步操作。 缺点:相对于Newtonsoft.Json,功能相对较少;某些高级功能需要更多手动配置。 文档地址: docs.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json-overview 推荐指数:★★★★ >i 3、MessagePack MessagePack是一种高效的二进制序列化格式,可以将对象序列化为紧凑的字节流,也可以将字节流反序列化为对象。它具有比JSON更小的序列化尺寸和更快的序列化速度。MessagePack支持多种编程语言,并且可以在跨语言的应用程序中使用。 优点:它生成的序列化数据尺寸小、序列化和反序列化速度快,同时具有跨语言支持,使得在不同平台和技术堆栈中的应用程序可以进行高效的数据交换和通信。 缺点:由于序列化数据是二进制的,可读性较差,不易读懂和调试。此外,相对于一些JSON序列化工具,MessagePack的配置选项和扩展性较少,灵活性稍弱。 文档地址:msgpack.org 推荐指数:★★★★★ >i 4、Utf8Json Utf8Json是一个高性能的JSON序列化和反序列化库,它使用Span<T>和UTF-8编码进行快速的操作。它注重性能和效率,并具有较小的内存占用。 优点:高性能、低内存占用的库;使用Span<T>和UTF-8编码进行快速的序列化和反序列化操作。 缺点:它的文档和社区支持不够多;相对于其他库,功能较为有限。 文档地址:github.com/neuecc/Utf8Json 推荐指数:★★★★ >i 5、Jil Jil是一个快速的JSON序列化和反序列化库,它注重性能和速度。它易于使用,并具有较低的内存占用。 优点:快速的JSON序列化和反序列化库;简单易用,具有较低的内存占用。 缺点:相对较少的高级功能;可能不如其他库灵活和可定制。 文档地址:github.com/kevin-montrose/Jil 推荐指数:★★★★ >i 6、ServiceStack.Text ServiceStack.Text是一个功能丰富的JSON序列化和反序列化库,支持多种序列化和反序列化方式。它具有良好的性能和灵活性,并支持自定义转换器。 优点:快速、功能丰富的库;支持多种序列化和反序列化方式;支持自定义转换器。 缺点:依赖包较大;可能与某些应用程序不兼容。 文档地址:docs.servicestack.net/text/ 推荐指数:★★★ >i 7、fastJSON fastJSON是一个快速、简单的JSON序列化和反序列化库,适用于高性能需求。它具有较少的依赖和较小的内存占用。 优点:快速、简单的JSON序列化和反序列化库;支持多种数据类型;适用于高性能需求。 缺点:它的文档和社区支持相对较少;可能不如其他库灵活。 文档地址:github.com/mgholam/fastJSON/wiki 推荐指数:★★★ >i 8、System.Runtime.Serialization.Json System.Runtime.Serialization.Json是.NET Framework内置的库,用于序列化和反序列化JSON数据。它支持DataContract属性和WCF协定,但在性能方面可能不如其他库。比较老的项目可以使用它。 优点:.NET Framework内置的库,无需额外的引用;支持DataContract属性和WCF协定。 缺点:性能相对较差;不支持一些高级功能,如自定义转换器。 文档地址: docs.microsoft.com/zh-cn/dotnet/api/system.runtime.serialization.json.datacontractjsonserialize 推荐指数:★★ 结语 本文介绍了几种.NET的8种JSON序列化反序列化工具,它们各有千秋,开发人员应该根据项目规模和复杂度、等因素选择合适的组件;大家感兴趣可以测试一下它们的性能,小编曾测试过Utf8Json,确实比官方的序列化功能性能强太多。并根据组件的使用说明选择合适自己项目的组件。希望本文对你有所收获,你用过哪些.NET的JSON序列化反序列化工具,欢迎留言讨论. >d https://blog.csdn.net/zls365365/article/details/131298264
孙端己
2024年9月9日 19:14
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码