6 个版本
新版本 0.1.5 | 2024 年 8 月 12 日 |
---|---|
0.1.4 | 2024 年 8 月 12 日 |
#471 在 编码
每月 487 次下载
10KB
151 代码行
struct-to-json-db 是一个为简单软件应用设计的最小化文件数据库。它利用 Serde 包无缝地将结构化数据的 HashMap 序列化和反序列化为 JSON 文件,确保简单易用。
示例代码
要查看实际示例,请访问 示例代码仓库。
开始使用
要开始使用,请将包添加到您的 Cargo.toml
文件
[dependencies]
struct-to-json-db = { path = "https://github.com/acscoder/struct-to-json-db.git" }
或
[dependencies]
struct-to-json-db = "x.x.x"
在 https://crates.io/search?q=struct-to-json-db 上查看最新版本
配置
要配置 struct-to-json-db,使用 auto_json_db_config! 宏指定 JSON 文件存储的目录
struct_to_json_db::auto_json_db_config!("./db/");
注意:确保路径以斜杠 (/) 结尾。例如,"./db/" 是正确的,但 "./db" 是错误的。
将宏添加到您的结构体中
使用 #[auto_json_db] 宏为您的结构体自动添加唯一 ID 和其他方法
#[auto_json_db]
struct Post {
title: String,
description: String,
categories: Vec<String>
}
此宏将添加以下内容
Post 结构体中的一个唯一 id (idx: u64)。
一个 new
方法用于创建新实例。
一个 get_all
方法,用于从 JSON 文件中检索所有保存的帖子,以 idx 作为键,Post 对象作为值作为 HashMap。
一个 save
方法将单个 Post 保存到 JSON 文件。
一个 save_vec
方法将 Post 对象的向量保存到 JSON 文件。
一个 get_by_id
方法用于通过 idx 检索 Post。
一个 remove_by_id
方法用于通过 idx 删除 Post。
一个 clear
方法用于删除所有 Post 对象。
贡献
欢迎贡献!请在 GitHub 上打开一个问题或提交一个拉取请求。
许可证
本项目采用 APACHE 许可证 许可。
依赖
~0.5–1MB
~23K SLoC