我正在使用一个使用serde-json的Rust程序,我非常喜欢它为自定义结构和枚举使用的#[derive(Serialize, Deserialize)]
宏。使用我自己的类型,宏可以正常工作。但是,我希望能够从我正在使用的其他库中调用类型的宏。
我会自己实现这些类型的Serialize
和Deserialize
特征,但Deserialize
的代码特别复杂,写入每个库都会很痛苦我在结构中使用的类型。
答案 0 :(得分:8)
我是否有办法在库中使用
RoutesViewModel { public int ID { get; set; } public string DriverName { get; set; } public string Vehicle { get; set; } public string Destination { get; set; } public DateTime StartingTime { get; set; } }
而无需编辑实际库的源代码?
不,没有。
另见:
对于Serde的特定情况,您可以使用"remote deriving",但您必须提供类型的重复定义,基本上重写原始结构。
许多板条箱提供了一个功能标志来启用可选功能,因此您可能希望查看您的箱子是否有一个用于Serde。如果没有,您可以将其提交给图书馆。