arson

Crates.ioarson
lib.rsarson
version0.2.1
sourcesrc
created_at2022-06-15 20:04:12.596912
updated_at2022-06-16 01:49:58.170466
descriptionarson is a simple rust json library for parsing string. it has nice formatted colored output
homepage
repositoryhttps://www.github.com/hermanbrunborg/arson
max_upload_size
id606715
size16,911
(hermanbrunborg)

documentation

https://docs.rs/arson/latest/arson/

README

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,
    ],
}
Commit count: 0

cargo fmt