1 个不稳定版本
0.1.0 | 2020年1月17日 |
---|
#40 in #age
28KB
831 行
erjson: 一个简单的Rust JSON解析器
示例
use erjson::{ JSONDocument, JSONValue };
fn main() {
let data = r#"{
"name": "John Doe",
"age": 43,
"props": { "weight": 76, "height": 2.3 },
"primes": [ 11, 13, 17, 19, 23 ],
"colors": [ "red", "blue" ]
}"#;
let json = String::from(data);
let mut doc = JSONDocument::new();
match doc.parse_string(json) {
Ok(ref mut v) => {
println!("name: {}", v.get("name").unwrap()); // John Doe
println!("age: {}", v.get("age").unwrap()); // 43
match v {
JSONValue::Object(hm) => {
*hm.get_mut("age").unwrap() = JSONValue::Number(45f64);
}
_ => {}
};
println!("age: {}", v.get("age").unwrap()); // 45
},
Err(err) => print!("err: {}", err)
}
}