【Serde】格式转换
环境
- Time 2021-12-07
- Rust 1.57.0
- serde 1.0.130
- serde_json 1.0.72
概念
参考:https://serde.rs/transcode.html
示例
main.rs
use std::io;
fn main() {
// A JSON input with plenty of whitespace.
let input = r#"
{
"a boolean": true,
"an array": [3, 2, 1]
}
"#;
// A JSON deserializer. You can use any Serde Deserializer here.
let mut deserializer = serde_json::Deserializer::from_str(input);
// A compacted JSON serializer. You can use any Serde Serializer here.
let mut serializer = serde_json::Serializer::new(io::stdout());
// Prints `{"a boolean":true,"an array":[3,2,1]}` to stdout.
// This line works with any self-describing Deserializer and any Serializer.
serde_transcode::transcode(&mut deserializer, &mut serializer).unwrap();
}
Cargo.toml
[package]
edition = "2021"
name = "game"
version = "0.1.0"
[dependencies]
serde = {version = "1", features = ["derive"]}
serde-transcode = "1"
serde_json = "1"
总结
使用 serde 实现了 JSON 格式的紧凑功能。

浙公网安备 33010602011771号