Petgraph 文档暗示了 Serde 支持。在“当前功能”下:
serde-1 - 默认关闭。使用 serde 1.0 启用 Graph、StableGraph 的序列化。可能需要更新版本的 Rust 而不是单独的 petgraph。
我可以serde_utils.rs
在源代码中看到该文件,但我没有找到显示如何使 Serde 支持工作的示例。
我知道如何启用可选的 crate 功能。我的问题旨在让序列化和反序列化工作。
Petgraph 文档暗示了 Serde 支持。在“当前功能”下:
serde-1 - 默认关闭。使用 serde 1.0 启用 Graph、StableGraph 的序列化。可能需要更新版本的 Rust 而不是单独的 petgraph。
我可以serde_utils.rs
在源代码中看到该文件,但我没有找到显示如何使 Serde 支持工作的示例。
我知道如何启用可选的 crate 功能。我的问题旨在让序列化和反序列化工作。
这是一个例子:
use petgraph::graph::UnGraph;
fn main() {
// Create an undirected graph with `i32` nodes and edges with `()` associated data.
let g = UnGraph::<i32, ()>::from_edges(&[(1, 2), (2, 3), (3, 4), (1, 4)]);
// Serialize it to a JSON string.
let j = serde_json::to_string(&g).unwrap();
let i: UnGraph<i32, ()> = serde_json::from_str(&j).unwrap();
assert!(petgraph::algo::is_isomorphic(&i, &g));
}
您所需要的只是在文档中。