#json #logic #rule #serde-json

jsonlogic

Rust 语言中的 JsonLogic 实现

8 个版本 (4 个重大更新)

0.5.1 2020年3月5日
0.5.0 2019年12月6日
0.4.0 2019年12月4日
0.3.0 2019年11月30日
0.1.2 2019年11月26日

#1415 in 解析器实现

Download history 66/week @ 2024-03-12 53/week @ 2024-03-19 43/week @ 2024-03-26 100/week @ 2024-04-02 59/week @ 2024-04-09 95/week @ 2024-04-16 130/week @ 2024-04-23 194/week @ 2024-04-30 217/week @ 2024-05-07 126/week @ 2024-05-14 209/week @ 2024-05-21 78/week @ 2024-05-28 36/week @ 2024-06-04 31/week @ 2024-06-11 20/week @ 2024-06-18 29/week @ 2024-06-25

每月130次下载

MIT 许可证

115KB
2.5K SLoC

jsonlogic_rs − 构建状态 最新版本

Rust 语言的 JsonLogic 实现。

要使用此库,请在您的 Cargo.toml 中添加以下内容:

[dependencies]
jsonlogic = "0.5"

to your Cargo.toml.

使用方法

use serde_json::{json, Value};

let rule = json!({
    "===": [
        2,
        { "var": "foo" }
    ]
});

let data = json!({ "foo": 2 });
assert_eq!(jsonlogic::apply(&rule, &data), Ok(Value::Bool(true)));

let data = json!({ "foo": 3 });
assert_eq!(jsonlogic::apply(&rule, &data), Ok(Value::Bool(false)));

有关更多使用示例,请参阅 examples 目录。

操作

jsonlogic_rs 支持所有 JsonLogic 操作。有关所有操作及其参数的详细信息,请访问 jsonlogic.com 上的 支持的操作

有关每个运算符的 Rust 使用示例和边缘情况,请查看以下链接的测试。

依赖项

~355–760KB
~17K SLoC