Прежде всего вам нужно создать класс модели.
class Building {
String id;
String buildingName;
String location;
String imageField;
Building({this.id, this.buildingName, this.location, this.imageField});
Building.fromJson(Map<String, dynamic> json) {
id = json['entity_id'];
buildingName = json['building_name'];
location = json['location'];
imageField = json['image_field'];
}
}
После этого преобразовать ответ в объект Building.
Iterable mJson = json.decode(response.body);
List<Building> buildingList = mJson.map((model) => Building.fromJson(model)).toList();
Показать имя списка зданий и вернуть идентификатор здания при нажатии.
Expanded(
child: ListView.separated(
separatorBuilder: (context, index) => Divider(
color: Colors.grey,
),
itemCount: buildings?.length ?? 0,
itemBuilder: (BuildContext ctxt, int index) {
return InkWell(
onTap: () => _handleRowTap(buildings[index].id),
child: Padding(
padding: EdgeInsets.all(8),
child: Text(
"${buildings[index].buildingName}",
),
));
}));
И последняя.
_handleRowTap(String buildingId) {
//Handle click event here
}