| Crates.io | arson | 
| lib.rs | arson | 
| version | 0.2.1 | 
| created_at | 2022-06-15 20:04:12.596912+00 | 
| updated_at | 2022-06-16 01:49:58.170466+00 | 
| description | arson is a simple rust json library for parsing string. it has nice formatted colored output | 
| homepage | |
| repository | https://www.github.com/hermanbrunborg/arson | 
| max_upload_size | |
| id | 606715 | 
| size | 16,911 | 
arson is a simple rust json library for parsing string. it has nice formatted colored output
[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(())
}
Output
{
    "address": {
        "city": "London",
        "street": "10 Downing Street",
    },
    "name": "John Doe",
    "age": 43,
    "phones": [
        +44 1234567,
        +44 2345678,
    ],
}