5 个版本 (3 个破坏性更新)
使用旧的 Rust 2015
0.4.0 | 2020年1月31日 |
---|---|
0.3.1 | 2019年4月26日 |
0.3.0 | 2019年2月8日 |
0.2.0 | 2018年10月11日 |
0.1.0 | 2018年2月13日 |
#1490 在 编码
每月下载量:49
用于 2 crates
30KB
761 行
rlue_serde
serde 序列化/反序列化器对 rlua::Value 的实现
有关此 crate 的更多信息,请参阅 crate 文档。
用法
要使用 rlua_serde
,首先将其添加到您的 Cargo.toml
[dependencies]
rlua_serde = "0.4"
然后,您可以使用 to_value
/from_value
函数进行序列化/反序列化
#[derive(Serialize, Deserialize)]
struct Foo {
bar: u32,
baz: Vec<String>,
}
fn main() {
let lua = rlua::Lua::new();
lua.context(|lua| {
let foo = Foo {
bar: 42,
baz: vec![String::from("fizz"), String::from("buzz")],
};
let value = rlua_serde::to_value(lua, &foo).unwrap();
lua.globals().set("value", value).unwrap();
lua.load(
r#"
assert(value["bar"] == 42)
assert(value["baz"][2] == "buzz")
"#).exec().unwrap();
});
}
依赖项
~0.9–1.4MB
~24K SLoC