use serde::{Serialize, Serializer, Deserialize, Deserializer}; #[derive(Debug, Clone, PartialEq, Hash, Eq)] pub struct Sprite { pub name: String } impl Serialize for Sprite { fn serialize(&self, serializer: S) -> Result where S: Serializer { serializer.serialize_str(self.name.as_str()) } } impl<'de> Deserialize<'de> for Sprite { fn deserialize(deserializer: D) -> Result where D: Deserializer<'de> { Ok(Self{name: String::deserialize(deserializer)?}) } }