rovkit 0.0.6

rust kit for my self
Documentation
#[cfg(test)]
mod tests {
    use rovkit::jsonkit::*;
    #[test]
    fn test_parse_and_stringify() {
        let json = r#"{"name": "Alice", "age": 30}"#;
        let v = parse(json).unwrap();
        assert_eq!(get(&v, "name").unwrap(), "Alice");
        let s = to_string(&v).unwrap();
        assert!(s.contains("Alice"));
    }

    #[test]
    fn test_set_and_pretty_string() {
        let json = r#"{"name": "Alice"}"#;
        let v = parse(json).unwrap();
        let v2 = set(v, "age", Value::from(25));
        assert_eq!(get(&v2, "age").unwrap(), 25);
        let pretty = to_pretty_string(&v2).unwrap();
        assert!(pretty.contains("\n"));
    }

    #[test]
    fn test_type_checking() {
        let obj = parse("{}").unwrap();
        let arr = parse("[]").unwrap();
        let s = Value::from("hello");
        assert!(is_object(&obj));
        assert!(is_array(&arr));
        assert!(is_string(&s));
    }

    use rovkit::jsonkit::{from_json, is_object, parse, to_pretty_string};
    use serde::{Deserialize, Serialize};
    use serde_json::Value;

    #[derive(Debug, Serialize, Deserialize, PartialEq)]
    struct User {
        name: String,
        age: u32,
    }

    #[test]
    fn test_struct_serialization() {
        let user = User {
            name: "Bob".to_string(),
            age: 28,
        };
        let json = to_json(&user).unwrap();
        let json2 = to_pretty_json(&user).unwrap();

        println!("user.json = {}", json);
        println!("user.json2 = {}", json2);
        assert!(json.contains("Bob"));

        let user2: User = from_json(&json).unwrap();

        println!("user2: = {:?}", user2);
        assert_eq!(user, user2);
    }
}