Документация Serde гласит:
Все они могут быть сериализованы с использованием Serde из коробки.
serde_json только для примера, вообще не требуется.
Это именно то, что мне нужно, базовая сериализация структуры в некоторый базовый двоичный формат.Мне не нужен формат JSON, я хочу, чтобы он был простым, чтобы можно было сохранять структуру в файле или отправлять ее в сеть.В документации неясно, как использовать serde для базовой (бинарной или стандартной) сериализации, она показывает только пример с JSON, но это не то, что я ищу.Я также не хочу реализовывать свой собственный метод serialize
, я хочу использовать методы по умолчанию, которые предоставляет Serde.
Это мой пример, так как мне заставить его работать?
use serde::{Serialize, Deserialize,Serializer};
#[derive(Serialize, Deserialize, Debug)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let point = Point { x: 1, y: 2 };
//let serialized = serde::serialize(&point).unwrap(); // <-- doesnt work!
//let serialized = Serializer::serialize(&point); // <-- doesnt work!
//let serialized = point.serialize(Serializer); // <-- doesn't work!
println!("data = {:?}", serialized);
}
Детская площадка: https://play.rust -lang.org /? Версия = стабильная и режим = отладка и выпуск = 2018 & gist = b57a77399280f19664bb004201319b32
Это моя строка зависимости:
[dependencies]
serde = { version = "1.0", features = ["derive"] }