Я не нашел ни одной темы по той же проблеме.Поправьте меня, если я ошибаюсь.
Следующий JSON - это упрощенная версия ответа, который я получаю от внешнего API:
{
"vehicles": [
{
"car": {
"color": "blue",
"brand": "audi",
"maxSpeed": 300,
"releaseYear": 2016
}
},
{
"car": {
"color": "red",
"brand": "bmw",
"maxSpeed": 200,
"releaseYear": 2012
}
},
{
"motorcycle": {
"color": "yellow",
"brand": "yamaha",
"maxSpeed": 300,
"releaseYear": 2013
}
}
]
}
Итак, я получаю список транспортных средств и каждого элементаэто объект, который имеет одно поле с именем либо автомобиль или мотоцикл, другие варианты невозможны.Оба типа транспортных средств имеют одинаковые поля данных.Единственный способ различить оба типа - по имени ключа в JSON
Как я хочу его проанализировать:
В Java у меня есть три объекта:
abstract class Vehicle {
String color;
String brand;
Integer maxSpeed;
Integer releaseYear
public boolean hasFourWheels();
}
class Car extends Vehicle {
public boolean hasFourWheels() { return true; }
}
class Motorcycle extends Vehicle {
public boolean hasFourWheels() { return false; }
}
Можно ли получить список транспортных средств, где каждый экземпляр - автомобиль или мотоцикл?