Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 1.35 KB

File metadata and controls

25 lines (19 loc) · 1.35 KB

约定

通过约定,Serde 数据格式的 crate 在根模块提供了以下特性或在根模块的重新导出。

  • 序列化和反序列化的通用错误类型
  • std::result::Result<T, Error>等价的结果定义
  • 实现了serde::Serializer的序列化器
  • 实现了serde::Deserializer的反序列化器
  • 一个或多个to_abc函数取决于要支持的序列化格式的类型。举个例子,to_string函数返回一个Stringto_bytes函数返回一个Vec<u8>to_writer函数返回一个 io::Write
  • 一个或多个to_xyz函数取决于要支持的反序列化格式的类型。举个例子,from_str函数传入一个&strfrom_bytes函数传入一个&[u8]from_reader函数传入一个 io::Read

此外,除了 Serializer 和 Deserializer 之外,提供特定序列化或反序列化的 API 格式应暴露在顶级 ser 和 de 模块下。举个例子,serde_json 提供了可插拔的 pretty-printer 特征serde_json::ser::Formatter

一个基础的数据格式像这样开始。其他三个模块将在之后的页面讨论更多的细节。

// src/lib.rs
mod de;
mod error;
mod ser;

pub use de::{from_str, Deserializer};
pub use error::{Error, Result};
pub use ser::{to_string, Serializer};