我想将一个相当深的 JSON 反序列化为 Rust 结构:
{
"root": {
"f1": {
"f2": {
"f3": 123
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
推导时Deserialize,我将不得不创建太多的结构 - 对于上述 JSON 的每个级别一个:
struct Root {
f1: Field1
}
struct Field1 {
f2: Field2
}
struct Field3 {
f3: Field3
}
// ...
Run Code Online (Sandbox Code Playgroud)
有什么方法可以避免拥有这么多的结构。我没有找到任何对派生有帮助的属性。我想要这样的东西:
struct Root {
// some attr?
f3: u64
}
Run Code Online (Sandbox Code Playgroud)
当然,可以实现自定义反序列化,但我想知道是否有默认的方法来实现这一点。