【发布时间】:2021-07-08 04:32:56
【问题描述】:
我是 Flutter 的新手。我正在尝试反序列化 json 字符串并制作飞镖对象。但我做不到。
当我尝试映射时,它不会执行 debugPrint()。我不知道为什么并且没有错误?请帮我。 API 工作正常。当我使用 response.body 打印数据时,它还会打印真正的 json 数据。
Future<List<User>> fetchData() async {
List<User> users;
final response = await http.get(
Uri.http(' 192.168.0.102:8000', 'api/users'),
);
print(response.statusCode);
//print(response.body);
if (response.statusCode == 200) {
final list = json.decode(response.body) as List;
print('is $list');
// for (var i = 0; i < list.length; i++) {
users = list.map((e) {
debugPrint(e);
return User(id: e['id'], bap: e['bap'], lgNumber: e['lgnumber']);
});
// }
print('after');
return users;
} else {
return null;
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder(
future: fetchData(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done &&
snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index) {
User user = snapshot.data[index];
return Text(
user.bap.toString(),
);
},
);
}
return Container();
},
),
);
}
}
【问题讨论】: