#json-path #template #age #string

jpst

一个支持JSON Path的简单字符串模板引擎

2个版本

0.1.1 2022年7月22日
0.1.0 2022年7月21日

#455 in 模板引擎

Download history • Rust 包仓库 148/week @ 2024-04-10 • Rust 包仓库 84/week @ 2024-04-17 • Rust 包仓库 75/week @ 2024-04-24 • Rust 包仓库 24/week @ 2024-05-01 • Rust 包仓库 38/week @ 2024-05-08 • Rust 包仓库 75/week @ 2024-05-15 • Rust 包仓库 96/week @ 2024-05-22 • Rust 包仓库 58/week @ 2024-05-29 • Rust 包仓库 63/week @ 2024-06-05 • Rust 包仓库 65/week @ 2024-06-12 • Rust 包仓库 86/week @ 2024-06-19 • Rust 包仓库 52/week @ 2024-06-26 • Rust 包仓库 72/week @ 2024-07-03 • Rust 包仓库 129/week @ 2024-07-10 • Rust 包仓库 153/week @ 2024-07-17 • Rust 包仓库 95/week @ 2024-07-24 • Rust 包仓库

458 每月下载量

自定义许可

11KB
278

JPST

一个支持JSON Path的简单字符串模板引擎


    let json_value = json!({
        "my": {
            "name": "alice",
            "age": 18,
        },
        "friends": [
            {
                "name": "bob",
                "age": 18,
            },
            {
                "name": "tom",
                "age": 20,
            },
        ],
    });

    assert_eq!(
        "Hello, alice!".to_string(),
        format_str!("Hello, {{$.my.name}}!", &json_value)
    );

    assert_eq!(
        "Hello, bob!".to_string(),
        format_str!("Hello, {{$.friends[0].name}}!", &json_value)
    );

    assert_eq!(
        "Hello, tom!".to_string(),
        format_str!("Hello, {{$.friends[-1].name}}!", &json_value)
    );

    assert_eq!(
        "Hello, tom!".to_string(),
        format_str!("Hello, {{$.friends[?(@.age > 18)].name}}!", &json_value)
    );

依赖项

~3.5–5.5MB
~104K SLoC