#parser #json-parser #json

arson

arson is a simple rust json library for parsing string. it has nice formatted colored output

3 unstable releases

0.2.1 Jun 16, 2022
0.2.0 Jun 15, 2022
0.1.0 Jun 15, 2022

#222 in #json-parser

MIT license

16KB
353 lines

arson

arson is a simple rust json library for parsing string. it has nice formatted colored output


Cargo.toml

[dependencies]
arson = "x.x"

Example

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(())
}

Output

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

Dependencies

~175KB