我使用toml来解析数据,我有这样的结构:
use serde_derive::Deserialize;
use toml::value::Datetime;
#[derive(Debug, Deserialize)]
pub struct Trade {
pub action: Action,
pub date_time: Datetime,
pub exchange: Exchange,
pub fee: i64,
pub id: Option<String>,
pub matched: Option<bool>,
pub price: i64,
pub quantity: i64,
}
我想将整数(i64
(替换为BigInt
,这是num库中的一个结构。
这可能吗?我必须自己实现Deserialize
特性吗?
通常情况下,您不能。请参阅我如何实现我不具备的特质';I don’t own for a type I don';不拥有?有关更多详细信息,
对于您的具体情况,num
已经有了一个功能:
serde功能允许对
num-bigint
、num-complex
和num-rational
中的类型进行序列化。
所以只需使用它:
[dependencies.num]
version = "0.3"
features = ["serde"]