Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类型';列表<;动态>';不是类型为';地图<;字符串,动态>;_Php_Laravel_Flutter_Flutter Layout - Fatal编程技术网

Php 类型';列表<;动态>';不是类型为';地图<;字符串,动态>;

Php 类型';列表<;动态>';不是类型为';地图<;字符串,动态>;,php,laravel,flutter,flutter-layout,Php,Laravel,Flutter,Flutter Layout,我试图点击一个LaravelAPI,并在flutter中显示它 [ { "doctor_name": "abhishek", "username": "abhishek", "uid": "aLSb7ebMfsfAxybrwq21kXjkcJM2", "fees": 500,

我试图点击一个LaravelAPI,并在flutter中显示它

[
    {
        "doctor_name": "abhishek",
        "username": "abhishek",
        "uid": "aLSb7ebMfsfAxybrwq21kXjkcJM2",
        "fees": 500,
        "speciality": "Oncologist"
    },
    {
        "username": "amanboi",
        "uid": "wpTQALmZd5Yr5BVQyblNstjet1A3",
        "fees": 500,
        "speciality": "Oncologist",
        "doctor_name": "aman"
    }
]
当我尝试将它映射到我的模型时,我得到了错误。这就是我的模型的样子

class Doctor {
  final String uid;
  final int fee;
  final String doctor_name;
  final String speciality;

  Doctor({this.uid, this.fee, this.doctor_name, this.speciality});

  factory Doctor.fromJson(Map<String, dynamic> json) {
    return Doctor(
      uid: json['userId'],
      fee: json['fee'],
      doctor_name: json['doctor_name'],
      speciality: json['speciality']
    );
  }
}
班级医生{
最后一个字符串uid;
最终整笔费用;
最后的字符串名称;
最后的弦乐特长;
医生({this.uid,this.fee,this.Doctor\u name,this.speciality});
factory Doctor.fromJson(映射json){
返回医生(
uid:json['userId'],
费用:json[“费用”],
医生姓名:json['doctor\u name'],
专业:json['speciality']
);
}
}
这是我的职责

Future<Doctor> doctorlist(String speciality ) async {
  final response = await http.post('http://192.168.0.101:8080/querysnapshot', body: {'speciality': speciality});
  print('got response successfully');
  if (response.statusCode == 200) {
    print(response.body);
    return Doctor.fromJson(json.decode(response.body));
  } else {
    throw Exception('Failed to load album');
  }
}
Future doctorlist(字符串特性)异步{
最终响应=等待http.post('http://192.168.0.101:8080/querysnapshot,正文:{'speciality':speciality});
打印(“已成功获得响应”);
如果(response.statusCode==200){
打印(响应.正文);
返回Doctor.fromJson(json.decode(response.body));
}否则{
抛出异常(“加载相册失败”);
}
}
我得到的错误是:

type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>'
类型“List”不是类型“Map”的子类型

您正在将从API获得的
列表
传递到模型中。 返回列表

Future doctorlist(字符串特性)异步{
最终响应=等待http.post('http://192.168.0.101:8080/querysnapshot,正文:{'speciality':speciality});
打印(“已成功获得响应”);
如果(response.statusCode==200){
打印(响应.正文);
返回json.decode(response.body);
}否则{
抛出异常(“加载相册失败”);
}
}
在ListView中,可以执行以下操作

ListView.builder(
itemBuilder:(构建上下文,int索引){
Doctor-Doctor=Doctor.fromJson(doctorList[index]);
返回文本(医生姓名);
},
);

但有一件事,如果我输入0,它只会返回json映射的第一个索引,我该如何发送其余的[{“医生姓名”:“阿披舍克”,“用户名”:“阿披舍克”,“uid”:“ALSB7EBMFSFAXYBRWQ21KXJKCHM2”,“费用”:500,“专业”:“肿瘤学家”},{“用户名”:“amanboi”,“uid”:“wpTQALmZd5Yr5BVQyblNstjet1A3”,“费用”:500,“专业”:“肿瘤学家”,“医生姓名”:“阿曼”}]您想对
列表做什么?我想创建该响应中所有医生姓名的列表。您需要返回列表,而不是医生模型。