使用 Serde 序列化包含 Ndarray 字段的结构
作者:迹忆客
最近更新:2023/03/21
浏览次数:
在本文中,我们将学习使用 serde
来序列化包含 ndarray
字段的结构。
在 Rust 中创建 serde
数组
使用 Serde 序列化和反序列化 const
、通用或任意巨大的数组。Serde 是一个强大的框架,它通过允许序列化库对 Rust 数据结构进行通用序列化,从而消除了对运行时类型信息的需求。
此外,在许多情况下,通常在串行器和串行器之间使用的握手协议可以完全优化,从而允许 Serde 以与为特定类型手动设计的串行器大致相同的速度运行。
Serde 支持多种类型;但是,它不支持使用 const
泛型的数组。该库提供了一个模块,当与 Serde 的 with
属性结合使用时,可以增加对该功能的支持。
Rust 中的 Serde 示例
下面是在 serde
JSON 库的帮助下生成和解析 JSON 的简单演示,该库在幕后使用了 Serde。让我们从 Cargo.toml
文件开始,让事情顺利进行。
[package]
name = "example_serde"
version = "0.1.0"
authors = ["example@abc.com>"]
[dependencies]
serde_json = "0.8"
[dependencies]
ndarray = { version = "0.13.1", features = ["serde"] }
在前面的示例中,JSON 值的内存表示是 serde json::Value
。然而,Serde 也可以在标准 Rust 类型之间进行序列化。
Serde 拥有与 Stable 和 Nightly Rust 兼容的高效代码生成库。这些库消除了与手动推出特定类型的序列化和反序列化相关的很大一部分困难。
相关文章
Rust 中 Rc::clone(&rc) 和 rc.clone() 的区别
发布时间:2023/03/21 浏览次数:103 分类:编程语言
-
本教程是关于 Rust 中 Rc::clone(&rc) 和 rc.clone() 之间的区别。