【发布时间】:2021-05-08 09:37:28
【问题描述】:
我正在尝试从包含嵌套地图列表的 json 文件中获取和显示数据,作为初学者,我在编码时遇到了很多困难,请帮助我从 json 文件中获取和显示数据.我不知道如何获取数据,我必须在 App UI 中显示姓名、电子邮件、城市、年龄等。我不知道处理这个嵌套地图的程序是什么。帮助我使这段代码工作。
import 'package:flutter/material.dart';
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:http/http.dart';
import 'package:task/model/model_class.dart';
class EmployeeListView extends StatefulWidget {
@override
_EmployeeListViewState createState() => _EmployeeListViewState();
}
class _EmployeeListViewState extends State<EmployeeListView> {
List<Results> _results = List<Results>();
@override
void initState() {
super.initState();
fetchResults.then((value){
setState(() {
_results.addAll(value);
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Employee"),
backgroundColor: Colors.black,
),
body: ListView.builder(
itemCount: 10,
itemBuilder: (context, index){
return Card(
color: Colors.white,
shadowColor: Colors.black,
elevation: 4.5,
child: ListTile(
leading: CircleAvatar(
backgroundColor: Colors.transparent,
radius: 25.0,
backgroundImage: NetworkImage("url"),
),
title: Text("Name"),
subtitle: Text("Email"),
trailing: IconButton(icon: Icon(Icons.call), onPressed: (){}),
),
);
}),
);
}
Future<List<Results>> fetchResults() async{
var url = "https://randomuser.me/api?page=2&results=10&seed=99d7541361f1e116";
var response = await http.get(url);
if(response.statusCode == 200){
var resultsJson = json.decode(response.body);
for(var resultsJson in resultsJson){
_results.add(Results.fromJson(resultsJson));
return _results;
}
}
}
}
【问题讨论】:
-
我可以看看你的结果模型吗?