Rust 序列化与高级数据结构实践
1. 序列化相关知识
1.1 序列化基础
在序列化操作中,Serde 框架展现出了强大的优势。不同格式的序列化与反序列化代码被隐藏在 trait 定义之后,我们可以使用相同的 API 而无需关心内部实现细节。例如,在进行 JSON 序列化时,我们调用 serde_json::to_string 和 serde_json::from_str 来完成操作,这与其他格式的操作方式类似。所有重要的格式都支持 Serde,你可以在 这里 查看所有支持的格式列表。
JSON 本身没有类似于 FOVN 的概念,但随着多种语言对其的使用,多年来出现了多种将 JSON 转换为 FOVN 的约定。Serde 允许你通过在枚举上添加注解来支持这些约定,具体支持的转换列表可查看 这里 。
1.2 动态构建 JSON
当 JSON API 的架构设计不佳且对象不一致时,可能会出现大量成员为 Option 的大型结构。在这种情况下,动态构建 JSON 属性可能会更方便。以下是具体的操作步骤:
1. 打开之前生成的 Cargo.toml 文件。
2
超级会员免费看
订阅专栏 解锁全文
1174

被折叠的 条评论
为什么被折叠?



