У меня есть JSON примерно так:
[
{
"commonA": 1,
"commonB": 2,
"type": "Foo",
"fooSpecificA": 3,
"fooSpecificB": 4
},
{
"commonA": 5,
"commonB": 6,
"type": "Bar",
"barSpecificA": 7,
"barSpecificB": 8
},
...
Другими словами, у меня есть внутренние теговые объекты, но некоторые поля являются общими для каждого типа. Я бы хотел десериализовать это примерно так:
struct Entry {
commonA: i64,
commonB: i64,
variant: EntryVariant,
}
enum EntryVariant {
Foo(FooSpecific),
Bar(BarSpecific),
}
struct FooSpecific {
fooSpecificA: i64,
fooSpecificB: i64,
}
struct BarSpecific {
barSpecificA: i64,
barSpecificB: i64,
}
Возможно ли это с Серде?