Вот мой JSON
{
"type-1":[
{
"name": "type-1-1"
},
{
"name": "type-1-2"
}
],
"type-2": [
{
"name": "type-2-1"
},
{
"name": "type-2-2"
},
{
"name": "type-2-3"
}
]
}
Я хочу проанализировать это JSON, поэтому для этого я написал свою модель вот так
class Places {
final List<PlaceName> names;
Places({this.names});
factory Places.fromJson(Map<String, dynamic> parsedJson){
var list = parsedJson['name'] as List;
List<PlaceName> placeList = list.map((i) => PlaceName.fromJson(i)).toList();
return Places(
names: placeList
);
}
}
class PlaceName {
final String name;
PlaceName({this.name});
factory PlaceName.fromJson(Map<String, dynamic> parsedJson){
return PlaceName(
name : parsedJson['name'],
);
}
}
и, наконец, у меня есть написал мою функцию в дереве виджетов, как это
Future<String> _loadAllPlaces() async {
return await rootBundle.loadString('assets/location.json');
}
Future loadPlaces() async {
String jsonString = await _loadAllPlaces();
final jsonResponse = json.decode(jsonString);
PlaceName place = new PlaceName.fromJson(jsonResponse);
print(place);
print(place.name);
return place;
}
Итак, когда я вызываю loadPlaces()
в FutureBuilder, он возвращает null. Я попытался отладить его, но безуспешно. Пожалуйста помоги. Заранее спасибо.