use deser::Deserialize; use deser_json::from_str; #[test] fn test_basic() { let x: Vec = from_str(r#"[1, 2, 3, 4]"#).unwrap(); assert_eq!(x, vec![1, 2, 3, 4]); } #[test] fn test_flatten() { #[derive(Deserialize, PartialEq, Eq, Debug)] pub struct User { id: u64, #[deser(flatten)] attrs: Attrs, } #[derive(Deserialize, PartialEq, Eq, Debug)] pub struct Attrs { is_active: bool, is_admin: bool, flags: Vec, } let user: User = from_str( r#" { "id": 42, "is_active": true, "is_admin": true, "flags": ["german", "staff"] } "#, ) .unwrap(); assert_eq!( user, User { id: 42, attrs: Attrs { is_active: true, is_admin: true, flags: vec!["german".into(), "staff".into()], } } ) }