# Ryson Ryson is a library for extracting json values from strings. the library's API provides a single **parse** function which can be used to get the json enum from a string: ``` enum Json { Null, Bool(bool), Number(String), String(String), Array(Vec), Object(HashMap) } ``` to use the library simply add the following to the **dependency** section of your Cargo.toml: ``` ryson = "1.0.0" ``` then simply parse any json string: ``` let text : String = String::from("{\"port\":80}"); let config : Json = ryson::Json::parse(&text).unwrap(); ``` the above will give you a Json enum that can be then matched against all json types. to convert that to a map and extract the port number: ``` let map : &Hashmap = config.as_object().unwrap(); let port : &Json = map.get(&String::from("port")).unwrap(); let port_number : String = port.as_number().unwrap().clone(); println!("port={}",port_number); ``` Note that the json numbers are represented by strings in this library, as there is no built-in feature in Rust for storing big JS numbers.