因此,当前,我正在尝试寻找一种方法来对数据进行反序列化,以便Map能够包含Wagon的实例,而不仅仅是Component。我当前的对象结构有什么办法做到这一点?
class Standplaats {
String id;
Map<String, Trein> treinen;
}
class Trein {
String id;
Map<String, Component> componenten;
}
abstract class Component {
String id;
}
class Wagon extends Component {
int seats;
}
//serializing
Gson gson = new GsonBuilder().setPrettyPrinting().create();
List<Standplaats> list = new ArrayList<>(standplaatsen.size());
standplaatsen.forEach((id, standplaats) -> list.add(standplaats));
String toJson = gson.toJson(list);
//deserializing
Standplaats[] standplaatsen = GSON.fromJson(br, Standplaats[].class);
json当前看起来像这样:
{
"id": "standplaats1",
"treinen": {
"trein1": {
"id": "trein1",
"componenten": {
"wagon1": {
"seats": 20,
"id": "wagon1"
}
}
}
}
}