#json #create #testing #value #section #file

lib_config

简单直观的 API 用于创建和访问 JSON 配置文件

3 个不稳定版本

0.2.0 2023年6月29日
0.1.1 2023年4月26日
0.1.0 2023年4月26日

#661 in 配置

每月下载 23

MIT 许可证

15KB
240

lib_config

Rust 的 JSON 配置库

用法

依赖

将以下内容复制到您的 Cargo.toml 文件的 [dependencies] 部分

lib_config = "0.1.0"

示例

代码来自测试

//example: open (or create) a config, then write and read a value
    {
        let mut conf = config::open_from_home(".lib_config", "conftest.json").unwrap();

        conf.write_value("val0", 100).unwrap();
        let val0: i32 = conf.read_value("val0").unwrap();

        assert_eq!(val0, 100);

        conf.save().unwrap();
    }

//example: create & write a config section
    {
        let mut conf = config::open_from_home(".lib_config", "conftest.json").unwrap();

        conf.write_value("sect0", json!({
            "val0" : 10,
            "val1" : "foo"
        })).unwrap();

        conf.save().unwrap();
    }

///example: get and read from config section
    {
        let conf = config::open_from_home(".lib_config", "conftest.json").unwrap();

        let sect0 = conf.get_section("sect0").unwrap();
        let val0 : i32 = sect0.read_value("val0").unwrap();
        let val1: String = sect0.read_value("val1").unwrap();

        assert_eq!(val0, 10);
        assert_eq!(val1, String::from("foo"));
    }

生成的配置文件将是

  {
    "sect0": {
      "val0": 10,
      "val1": "foo"
    },
    "val0": 100
  }

许可证

许可下

依赖项

~0.8–11MB
~80K SLoC