serde

Installation
SKILL.md

serde, universal serialization

The Rust ecosystem's standard. Every non-trivial project pulls it in.

When to use

  • JSON: serde + serde_json. Derive: #[derive(Serialize, Deserialize)]
  • TOML/YAML: swap serde_json for toml / serde_yaml (or serde_yml)
  • Binary: bincode, rmp-serde (MessagePack), postcard (no_std)
  • Field rename: #[serde(rename = "fooBar")] · case style: #[serde(rename_all = "camelCase")]
  • Optional field: Option<T> + #[serde(skip_serializing_if = "Option::is_none")]
  • Default on missing: #[serde(default)] or #[serde(default = "my_fn")]
  • Enum repr: #[serde(tag = "type")] (internally tagged), #[serde(untagged)] (try each variant)
  • Flatten nested: #[serde(flatten)] for { "inner": {...} } → flat shape
  • Custom (de)serializer per field: #[serde(deserialize_with = "path")]

Prerequisites

  • cargo
  • crates: serde = { version = "1", features = ["derive"] }, plus a format crate
Installs
2
Repository
opencue/skills
GitHub Stars
3
First Seen
Jun 22, 2026
serde — opencue/skills