#json-path #template #age #string

jpst

a simple string template engine that supports JSON Path

2 releases

0.1.1 Jul 22, 2022
0.1.0 Jul 21, 2022

#571 in Template engine

Download history 109/week @ 2024-11-13 122/week @ 2024-11-20 130/week @ 2024-11-27 126/week @ 2024-12-04 78/week @ 2024-12-11 85/week @ 2024-12-18 75/week @ 2024-12-25 88/week @ 2025-01-01 59/week @ 2025-01-08 108/week @ 2025-01-15 86/week @ 2025-01-22 13/week @ 2025-01-29 119/week @ 2025-02-05 97/week @ 2025-02-12 55/week @ 2025-02-19 84/week @ 2025-02-26

358 downloads per month

Custom license

11KB
278 lines

JPST

A simple string template engine that supports 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)
    );

Dependencies

~3.5–5.5MB
~104K SLoC