Flutter 如何在flatter中读取带有类返回类型的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(

如何读取具有类返回类型的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(
        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 getting
snapshot
result nullbro在API响应中am getting响应但在返回响应之前my
FutureBuilder
执行并返回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();