Crates.io | arson |
lib.rs | arson |
version | 0.2.1 |
source | src |
created_at | 2022-06-15 20:04:12.596912 |
updated_at | 2022-06-16 01:49:58.170466 |
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,
],
}