3个不稳定版本
0.2.0 | 2023年4月6日 |
---|---|
0.1.1 | 2021年12月22日 |
0.1.0 | 2020年12月13日 |
#62 in #serde-derive
1,070 每月下载量
在 from_as 中使用
16KB
249 代码行
from_as crate的衍生宏
该crate旨在作为from_as crate的一部分使用,也可能单独按预期工作。
请使用https://crates.io/crates/from_as
from_as
Rust为实现serde的类型提供读取和写入文件的衍生宏。这些衍生宏实现了from_as_file特质。
from_as_file crate提供了两个特质:FromFile和AsFile。FromFile用于从文件获取类型。AsFile用于将类型写入文件。
derive_from_as crate提供了具有相同名称的这些特质的衍生宏。
目前,可以使用的文件类型仅限于json、yaml和toml。
示例
#[macro_use]
extern crate serde_derive;
use std::io::{Read, Write};
use std::convert::TryFrom;
use from_as::*;
#[derive(Debug, Deserialize, Serialize, AsFile, FromFile)]
struct Attribute {
name: String,
}
fn main() {
let attr = Attribute {
name: "attr_name".into()
};
// Write to the example directory.
attr.as_file("./examples/attr.json").unwrap();
let attr = Attribute::from_file("./examples/attr.json").unwrap();
println!("{:#?}", attr);
// For writing a prettified version.
attr.as_file_pretty("./examples/attr.json").uwnrap();
}
依赖项
~2.3–3MB
~69K SLoC