Я знаю, что это обычный вопрос, но я не нашел никакого решения, поэтому я поднимаю вопрос.
JSON формат выглядит следующим образом:
[
{
"id": "127",
"image": "https://www.website.com/imgFldr/app/app-bangalore3.jpg",
"city": "Bangalore",
"store_mobile": "+91-978XXXXXXX",
"search_by": "Search one",
"url": "image url",
"store_address": "Address 1"
},
{
"id": "128",
"image": "https://www.website.com/imgFldr/app/app-bangalore2.jpg",
"city": "Bangalore",
"store_mobile": "+91-978XXXXXXX",
"search_by": "Search 2",
"url": "image url",
"store_address": "Address 2"
},
{
"id": "137",
"image": "https://www.website.com/imgFldr/app/app-bangalore.jpg",
"city": "Bangalore",
"store_mobile": "+91-978XXXXXXX",
"search_by": "Search 3",
"url": "image url",
"store_address": "Address 3"
},
{
"id": "132",
"image": "https://www.website.com/imgFldr/app/app-mumbai-2.jpg",
"city": "Mumbai",
"store_mobile": "+91-978XXXXXXX",
"search_by": "Search 4",
"url": "image url",
"store_address": "Address 4"
},
{
"id": "139",
"image": "https://www.website.com/imgFldr/app/app-mumbai.jpg",
"city": "Mumbai",
"store_mobile": "+91-978XXXXXXX",
"search_by": "Search 5",
"url": "image url",
"store_address": "Address 5"
}
]
Ответ приходит в виде массива. Мне это понравилось, класс Model
class Stores {
String id;
String image;
String city;
String storeMobile;
String searchBy;
String url;
String storeAddress;
Stores(
{this.id,
this.image,
this.city,
this.storeMobile,
this.searchBy,
this.url,
this.storeAddress});
Stores.fromJson(Map<String, dynamic> json) {
id = json['id'];
image = json['image'];
city = json['city'];
storeMobile = json['store_mobile'];
searchBy = json['search_by'];
url = json['url'];
storeAddress = json['store_address'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['image'] = this.image;
data['city'] = this.city;
data['store_mobile'] = this.storeMobile;
data['search_by'] = this.searchBy;
data['url'] = this.url;
data['store_address'] = this.storeAddress;
return data;
}
}
А внутри класса main.dart
List<Stores> storeList = new List();
Future<Null> getStoresData() async {
setState(() {
loading = true;
});
final response = await http.get(Uri.encodeFull(APIs.url_getStoreData));
List<dynamic> list = jsonDecode(utf8.decode(response.bodyBytes));
Stores str = Stores.fromJson(list[0]);
storeList.add(str);
print("list Value : $list");
print("Store : $storeList");
setState(() {
loading = false;
});
}
JSON входит в одну строку. Я не могу использовать его в ListTiles, так как
storeList [index] ['city'],
Когда я пытался напечатать ('Size: $ storeList .length '); он печатает = 1 только
Пожалуйста, помогите и спасибо.