#json-parser #json #parser

arson

arson 是一个简单的 Rust JSON 库,用于解析字符串。它具有美观的格式化彩色输出

3 个不稳定版本

0.2.1 2022年6月16日
0.2.0 2022年6月15日
0.1.0 2022年6月15日

149#json-parser

Download history 147/week @ 2024-07-26 12/week @ 2024-08-02

159 每月下载量

MIT 许可证

16KB
353

arson

arson 是一个简单的 Rust JSON 库,用于解析字符串。它具有美观的格式化彩色输出


Cargo.toml

[dependencies]
arson = "x.x"

示例

use arson::{JSONError, Parser, JSON, JSON::*};

fn main() -> Result<(), JSONError> {
    // alternative A
    let json_str = std::fs::read_to_string("ex.json").unwrap();
    // alternative B
    let json_str = r#"{
        "name": "John Doe",
        "age": 43,
        "address": {
            "street": "10 Downing Street",
            "city": "London"
        },
        "phones": [
            "+44 1234567",
            "+44 2345678"
        ]
    } "#;

    // alternative 1
    let json = json_str.parse::<JSON>().expect("Failed to parse json");
    // alternative 2
    let json = Parser::parse(json_str.chars())?;

    println!("{:?}", json);

    match json {
        Array(val) => {}  // Vec<JSON>
        Object(val) => {} // HashMap<String, JSON>
        String(val) => {} // String
        Number(val) => {} // f64
        Bool(val) => {}   // bool
        Null => {}
    }

    Ok(())
}

输出

{
    "address": {
        "city": "London",
        "street": "10 Downing Street",
    },
    "name": "John Doe",
    "age": 43,
    "phones": [
        +44 1234567,
        +44 2345678,
    ],
}

依赖项

~175KB