6 个版本
0.2.0 | 2023年7月26日 |
---|---|
0.1.4 | 2022年4月5日 |
0.1.3 | 2022年2月23日 |
#816 在 编码
23KB
753 行
serde-loader
它提供了一个 serde 封装,用于从相对路径加载/保存可序列化数据。
示例
它允许在序列化过程中写入文件路径而不是数据。假设我们有以下要加载的 JSON 文件。
main.json
{
"sub": "sub/sub.json"
}
sub/sub.json
{
"sub": "sub/sub.json"
}
sub/sub/sub_of_sub.json
{
"sub": "sub/sub_of_sub.json"
}
此软件包提供了 JsonPath
封装,用于递归地加载 JSON 文件。
use serde_loader::JsonPath;
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Main {
pub sub: JsonPath<Sub>
}
#[derive(Serialize, Deserialize)]
struct Sub {
pub sub: JsonPath<SubOfSub>
}
#[derive(Serialize, Deserialize)]
struct SubOfSub {
pub name: String,
pub value: String,
}
let config: JsonPath<Main> = JsonPath::open("tests/config-example/main.json")?;
config.save()?;
许可证
MIT 许可证。请参阅 许可证文件。
依赖关系
~1.4–2.7MB
~59K SLoC