#json-parser #color #age

bin+lib erjson

一个简单的Rust JSON解析器

1 个不稳定版本

0.1.0 2020年1月17日

#40 in #age

MIT 许可证

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

}

无运行时依赖