SuperAPI AI 工具集

serialization

通用与其它

查看项目

更新于 10-15 19:47

技能介绍

用途:在 .NET 中选择序列化格式、从 Newtonsoft.Json 迁移到 System.Text.Json、实现 AOT 兼容序列化、设计分布式系统线格式并优化性能。

主要能力:提供格式对比(JSON、Protobuf、MessagePack),说明何时选用哪种格式;区分基于 schema 与基于反射的序列化;给出 System.Text.Json 源生成器的配置、ASP.NET Core 集成、多上下文合并、多态处理示例;Protobuf 的包引用、proto 文件、独立序列化与版本规则;MessagePack 的源生成、LZ4 压缩与 AOT 解析器设置;并列出应避免的格式(BinaryFormatter、Newtonsoft.Json 默认、DataContractSerializer、XML)及线兼容模式(宽容读取器、先读后写、勿嵌入类型名)。

使用方式:按资料中的代码设置 JsonSerializerContext 的 [JsonSerializable] 标注,并在 ASP.NET Core 中注册 TypeInfoResolver;Protobuf 使用 Google.Protobuf 与 Grpc.Tools 包及 .proto 文件;MessagePack 使用 [MessagePackObject] 与 [Key] 标注及 GeneratedResolver。命令与代码保持原文。

适用场景:API、配置、gRPC、服务间通信、缓存、实时消息、Akka.NET 参与者系统。

限制:仅在资料范围内给出建议,未提供收费、价格或具体性能数值;AOT/裁剪场景不可用反射式序列化,[JsonProperty] 与 System.Text.Json 不兼容,集合类型需单独标注。