Как вы сказали, ваше поле fleets
представляет собой массив карт. То, что вы видите в результатах отладки, именно то, что я ожидал. Обратите внимание, что внешние квадратные скобки обозначают java объект типа списка, а внутренние фигурные скобки указывают java объекты типа карты внутри него. Однако ваш тип generi c неправильный. Вместо List<String>
вы должны использовать List<Map<String, Object>>
для учета объектов Map в списке.
Если вы хотите вместо List<String>
, вам придется написать некоторый код, чтобы получить искомую строку из карты и построить новый список, используя это значение. Итак, если вы хотите, чтобы свойство name
было для каждого элемента карты, вы могли бы сделать что-то вроде этого:
List<Map<String, Object>> groups = (List<Map<String, Object>>) doc.get("fleets");
ArrayList<String> names = new ArrayList<>();
for (Map<String, Object> group : groups) {
String name = group.get("name");
names.add(name);
}
Теперь у вас есть список имен из карт в списке.