как вы указали JSON Я сделал пример и загрузил ваш JSON локально: Это ваш JSON ниже:
{
"apus_findgo_gallery_images": {
"2092": "http://www.camhalalguide.com/wp-content/uploads/2019/11/6b806c88-2f19-4054-914b-dee3c0c091eb.jpg",
"2093": "http://www.camhalalguide.com/wp-content/uploads/2019/11/24.1.1-phnom-chisor-temple.jpg",
"2096": "http://www.camhalalguide.com/wp-content/uploads/2019/11/image-asset.jpg",
"2098": "http://www.camhalalguide.com/wp-content/uploads/2019/11/phnom-chisor-01-600_orig.jpg",
"2099": "http://www.camhalalguide.com/wp-content/uploads/2019/11/phnom-chisor-02-600_orig.jpg"
}
}
Это класс модели, который я создал:
// To parse this JSON data, do
//
// final yourModelClass = yourModelClassFromJson(jsonString);
import 'dart:convert';
YourModelClass yourModelClassFromJson(String str) => YourModelClass.fromJson(json.decode(str));
String yourModelClassToJson(YourModelClass data) => json.encode(data.toJson());
class YourModelClass {
Map<String, String> apusFindgoGalleryImages;
YourModelClass({
this.apusFindgoGalleryImages,
});
factory YourModelClass.fromJson(Map<String, dynamic> json) => YourModelClass(
apusFindgoGalleryImages: Map.from(json["apus_findgo_gallery_images"]).map((k, v) => MapEntry<String, String>(k, v)),
);
Map<String, dynamic> toJson() => {
"apus_findgo_gallery_images": Map.from(apusFindgoGalleryImages).map((k, v) => MapEntry<String, dynamic>(k, v)),
};
}
Это основной файл, в котором вы получаете список изображений:
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:sample_project_for_api/model.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
yourMethod();
}
yourMethod() async {
String jsonString = await loadFromAssets();
final yourModelClass = yourModelClassFromJson(jsonString);
Map data = yourModelClass.apusFindgoGalleryImages;
var list = new List();
data.forEach((key, value) {
list.add(value);
});
for (int i = 0; i < list.length; i++) {
print(list);
print('\n');
}
}
Future<String> loadFromAssets() async {
return await rootBundle.loadString('json/parse.json');
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(child: Text('Hello')),
),
);
}
}
сообщите мне, если он работает.