diff --git a/rslib/src/config.rs b/rslib/src/config.rs index 42ae62067..9514d2cab 100644 --- a/rslib/src/config.rs +++ b/rslib/src/config.rs @@ -2,12 +2,16 @@ // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html use crate::types::ObjID; +use serde_aux::field_attributes::deserialize_number_from_string; use serde_derive::Deserialize; #[derive(Deserialize)] #[serde(rename_all = "camelCase")] pub struct Config { - #[serde(rename = "curDeck")] + #[serde( + rename = "curDeck", + deserialize_with = "deserialize_number_from_string" + )] pub(crate) current_deck_id: ObjID, pub(crate) rollover: Option, pub(crate) creation_offset: Option, diff --git a/rslib/src/decks.rs b/rslib/src/decks.rs index 9bf8e7e54..d00c6d4f2 100644 --- a/rslib/src/decks.rs +++ b/rslib/src/decks.rs @@ -2,10 +2,12 @@ // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html use crate::types::ObjID; +use serde_aux::field_attributes::deserialize_number_from_string; use serde_derive::Deserialize; #[derive(Deserialize)] pub struct Deck { + #[serde(deserialize_with = "deserialize_number_from_string")] pub(crate) id: ObjID, pub(crate) name: String, }