Flutter 如何在flatter中读取带有类返回类型的HTTP POST请求?
如何读取具有类返回类型的HTTP post响应 我的班级是Flutter 如何在flatter中读取带有类返回类型的HTTP POST请求?,flutter,Flutter,如何读取具有类返回类型的HTTP post响应 我的班级是 class ContactModal { String code; String status; String name; ContactModal({this.code, this.status, this.name}); factory ContactModal.fromJson(Map<String, dynamic> json) { return ContactModal(
class ContactModal {
String code;
String status;
String name;
ContactModal({this.code, this.status, this.name});
factory ContactModal.fromJson(Map<String, dynamic> json) {
return ContactModal(
code: json['code'],
status: json['status'],
name: json['name']
);
}
}
我的api将返回响应列表[ContactModal]()
如何读取所有数据,并在每次快照结果为空时获取结果。您的响应包含联系人json的数组。因此,您可能需要建立联系人列表并返回,如下所示
var jsonArray = json.jsonDecode(response.body);
var contactList = jsonArray.map((json) => ContactModal.fromJson(json)).toList();
getDetails的返回类型将是
Future
之后的json值是多少successful@DineshBalasubramanian我的json响应是[{“code”:“1234”,“status”:“N”,“name”:“A”},{“code”:“234”,“status”:“N”,“name”:“B”},{“code”:“34”,“status”:“N”,“name”:“B”},{“code”:“7665”,“status”:“N”,“name”:“ABC”},{“code”:“35456”,“status”:“N”,“name”:“SDA”}]
Dinesh收到此问题在应用此代码FutureBuilder(future:apiClient.getFileDetails(this.accessToken))后,生成FutureBuilder(dirty,state:I/flatter(7226):\u FutureBuilderState(50d94):I/flatter(7226):无效参数
(上下文,异步快照){
am gettingsnapshot
result nullbro在API响应中am getting响应但在返回响应之前myFutureBuilder
执行并返回snapshot null之后am getting API响应检查snapshot.hasData,snapshot.data在if块内不应为null..u是否可以打印联系人列表回来之前
body: new Container(
child: new FutureBuilder(
future: apiClient.getFileDetails(this.accessToken),
builder: (context, snapshot) {
print(" prefs.getString('accessTokenValue') "+snapshot.data);
if (snapshot.hasData) {
print("Snap shot data : "+snapshot.data);
new ContactsList(_buildContactList(snapshot));
} else if (snapshot.hasError) {
return new Text("${snapshot.error}");
}
// By default, show a loading spinner
return new CircularProgressIndicator();
},
),
),
var jsonArray = json.jsonDecode(response.body);
var contactList = jsonArray.map((json) => ContactModal.fromJson(json)).toList();